CakePHP $布局不会改变
所以这里的情况是:我有我的default.ctp和我的ajax.ctp,其中我的ajax.ctp只是空白的$ content_for_layout;
当我做一个自动完成ajax调用时,我必须将布局明显改为'ajax'。 所以我在我的控制器中有这个功能
function beforeFilter() {
if($this->RequestHandler->isAjax()) {
$this->layout = 'ajax';
}
}
但是,当我查看我的自动完成的结果时,我在我的选项中获得了这个结果:
这基本上是我的默认布局。 所以我的猜测是布局没有改变
其他人遇到这个问题? 我忘了在我的控制器中添加什么东西? 所有的帮手和组件都已到位。
脚本中没有太多可能出错的地方。 在过滤器良好并且设置视图模板之前也是如此。 我唯一能想到的就是你的ajax请求不会被识别。
RequestHandler :: isAjax()的代码非常简单:
function isAjax() {
return env('HTTP_X_REQUESTED_WITH') === "XMLHttpRequest";
}
所以我建议记录你的变量,看它是否被识别为ajax。 我还听说有时候缓存将这个问题搞砸了。 试试$ this-> disableCache(); 在检查它是否是ajax之前。
调试...不是很有趣
链接地址: http://www.djcxy.com/p/88455.html