我知道这应该很明显,但我在互联网上找不到任何有用或更新的东西。
我正在尝试使用 ajax 执行请求,该请求获取视图内容以及要从 cakePHP 控制器执行的 JS 代码。
请求是:
$.ajax({
url: '/alarm/fetchGadgetsComponent',
type: "POST",
cache: false,
dataType: 'json',
success: function (data) {
console.log(data);
}
});
PHP 类如下所示:
class AlarmController extends AppController {
public $uses = false;
public $components = array('RequestHandler');
public function index() {
}
public function fetchGadgetsComponent()
{
if ($this->request->is('Ajax'))
{
$this->autoRender = false;
$this->layout = 'ajax';
$html = $this->render('ajax\widgetsPanel');
$js = $this->render('ajax\widgetsPanel.js');
echo json_encode(array('html' => $html,'js' => $js));
}
}
}
首先,第一次渲染只是将它渲染到屏幕上,而不是渲染到$html
变量中。二、如何用不同的方法获取js文件?(渲染方法显然不是为此,因为它搜索 .ctp 文件)以及如何将它们一起解析为 json 表达式?
谢谢