我的控制器有问题,当我尝试调用request->isAJAX()
时,程序返回错误undefined method
注意:我使用codeigniter 4.1.1
<?php
namespace AppControllers;
use AppModelsMruang;
class Ruang extends BaseController
{
protected $jenis;
public function __construct()
{
$this->jenis = new Mruang();
}
public function index()
{
$data = [
'titel' => 'Jenis Ruang'
];
return view('ruang/index', $data);
}
public function tampil()
{
if ($this->request->isAJAX()) {
$data = [
'ruang' => $this->jenis->findAll(),
'btn' => true
];
$msg = [
'data' => view('ruang/data', $data)
];
echo json_encode($msg);
}
}
}
我在CI 4.1.1安装的本地机器上运行您的代码,它运行正常,至少$this->request->isAJAX()
按预期工作。
查看您的BaseController
并将其与默认值进行比较。将默认代码粘贴到
<?php
namespace AppControllers;
use CodeIgniterController;
use CodeIgniterHTTPRequestInterface;
use CodeIgniterHTTPResponseInterface;
use PsrLogLoggerInterface;
class BaseController extends Controller
{
protected $helpers = [];
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
{
// Do Not Edit This Line
parent::initController($request, $response, $logger);
}
}
我也想建议你看看Mruang
模型是否有findAll()
方法。