Ajax Cakephp$布局不会更改
因此,情况如下: 我有我的Debug .CTP和我的AJAX.CTP,其中我的Ajax .cTP只是空白的$CaltTyfFox布局;p> 当我进行自动完成ajax调用时,我必须将布局更改为“ajax”。 所以我的控制器中有这个函数Ajax Cakephp$布局不会更改,ajax,cakephp,layout,controller,Ajax,Cakephp,Layout,Controller,因此,情况如下: 我有我的Debug .CTP和我的AJAX.CTP,其中我的Ajax .cTP只是空白的$CaltTyfFox布局;p> 当我进行自动完成ajax调用时,我必须将布局更改为“ajax”。 所以我的控制器中有这个函数 function beforeFilter() { if($this->RequestHandler->isAjax()) { $this->layout = 'ajax'; } }
function beforeFilter() {
if($this->RequestHandler->isAjax()) {
$this->layout = 'ajax';
}
}
但是,当我查看自动完成的结果时,我会在选项中看到:
DOCTYPE html PUBLIC-//W3C//DTD XHTML1.0//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html-xmlns=http://www.w3.org/1999/xhtml>
这基本上是我的默认布局。
所以我猜布局没有改变
还有其他人遇到过这个问题吗?我忘了在控制器中添加一些东西了吗?所有帮助程序和组件都已就绪。脚本中没有太多可能出错的地方。之前,过滤器是好的,设置视图模板也是好的。我能想到的唯一一件事是,您的ajax请求不知何故没有被识别 RequestHandler::isAjax的代码非常简单:
function isAjax() {
return env('HTTP_X_REQUESTED_WITH') === "XMLHttpRequest";
}
所以我建议记录您的vars,看看它是否被识别为ajax。我还听说有时候缓存会把事情搞砸。尝试$this->disableCache;在检查它是否是ajax之前
调试。。。这不是很有趣吗问题解决了,我的电影_autocomplete.ctp的名字中有一个大写字母,所以他正在搜索不存在的电影_auto_complete.ctp。当我发现…有关于缓存问题的消息来源吗?