我正在使用CakePHP应用程序和jQuery Mobile。在CakePHP应用程序中,RequestHandler已打开,现在,jQuery Mobile将所有请求作为ajax请求发出,但不仅需要整页,而且需要完整的页面布局。
我需要requesthandler,并且尝试设置布局,强制渲染,关闭自动布局,没有任何效果,cake只返回我视图的内容。
我真的很想知道这是怎么回事。
最佳答案
如果有人感兴趣,我找到了解决方案,我发现当您打开RequestHandler并发出Ajax请求时,无论您做什么都没有关系,然后RequestHandler通过回调确定您的布局为“ ajax”,这可能适用于所有非HTML请求类型,例如json和text。
我必须设定
$this->RequestHandler->enabled = false;
确实也需要在调用链中的beforeFilter()中设置它,它似乎不起作用。
所以我的代码最终变成:
class AppController extends Controller {
var $components = array('RequestHandler');
function beforeFilter() {
if ($this->RequestHandler->isMobile()) {
$this->RequestHandler->enabled = false
//set special mobile rules here
}
}
}