CakePHP AJAX布局

Luk*_*uke 2 php jquery cakephp

我正在使用CakePHP应用程序和jQuery Mobile.在CakePHP应用程序中,RequestHandler已打开,现在,jQuery Mobile将所有请求作为ajax请求,但需要一个完整的页面,而不仅仅是我视图中的内容,而是完整的布局.

我需要requesthandler,我试图设置一个布局,强制渲染,关闭自动布局,没有任何作用,蛋糕只返回我的视图的内容.

我真的很想知道这里发生了什么.

Luk*_*uke 5

如果有人有兴趣我找到了解决方案,我发现当你有RequestHandler并发出Ajax请求时,你做什么并不重要,RequestHandler然后通过回调决定你的布局是'ajax',这个可能适用于所有非html请求类型,如json和text.

我必须设置

$this->RequestHandler->enabled = false; 
Run Code Online (Sandbox Code Playgroud)

它确实需要在beforeFilter()中设置,后者在调用链中,它似乎不起作用.

所以我的代码最终成为:

class AppController extends Controller {
  var $components = array('RequestHandler');
  function beforeFilter() {
    if ($this->RequestHandler->isMobile()) {
      $this->RequestHandler->enabled = false
      //set special mobile rules here
    }
  }
}
Run Code Online (Sandbox Code Playgroud)