php - CakePHP AJAX 布局

标签 php jquery cakephp

我正在使用 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/

相关文章:

php - PHP 脚本中的 If 语句

javascript - 从创建文本字段的下拉列表中选择 'OTHERS' 选项 Ruby on Rails - 4.2

javascript - Firefox 与 typed.js 不兼容?

php - CakePHP 中的 Feeds 错误返回 "Invalid xml declaration"

postgresql - 在 PostgreSQL 上,Cakephp 3 查询中的having(count) 失败

php - 如何在php中的一页中使用2个数据库连接

javascript - Flor BarChart 中的工具提示问题

jQuery getJSON 调用未返回所需的参数?

apache - Cakephp RSS - 内存耗尽导致网站空白页

php - 根据属性加入客户