我正在使用 CakePHP 应用程序和 jQuery Mobile。在 CakePHP 应用程序中,RequestHandler 已打开,现在,jQuery Mobile 将所有请求作为 ajax 请求,但需要完整的页面,不仅是我 View 中的内容,还需要完整的布局。
我需要请求处理程序,我尝试设置布局,强制渲染,关闭自动布局,没有任何效果,蛋糕只返回我 View 的内容。
我真的很想知道这里发生了什么。
最佳答案
如果有人感兴趣,我找到了一个解决方案,我发现当你打开 RequestHandler 并发出 Ajax 请求时,无论你做什么,RequestHandler都会通过调用决定你的布局是“ajax”返回,这可能适用于所有非 html 请求类型,例如 json 和文本。
我必须设置
$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
}
}
}
关于php - CakePHP AJAX 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6385714/