【问题标题】:CakePHP 1.3: Detect ajax request in viewCakePHP 1.3:在视图中检测 ajax 请求
【发布时间】:2011-08-05 02:28:57
【问题描述】:

在 Cake 1.3 之前,我会使用简单的 $ajax->isAjax() 检查 ajax 请求。现在 AjaxHelper 已被弃用,我正在寻找在我的视图中检查 ajax 请求的正确方法。我在 JsHelperHtmlHelper 方法中找不到任何东西。这似乎是一件非常简单的事情,我希望我没有遗漏一些明显的东西!

顺便说一句,我知道RequestHandler 组件(控制器中的$this->RequestHandler->isAjax()),但我再次寻求有关如何在我的视图中进行ajax 检测的帮助。

谢谢。

【问题讨论】:

    标签: ajax cakephp


    【解决方案1】:

    可以不使用RequestHandler组件在app_controller的beforeFilter函数中设置视图变量吗?

    类似这样的:

    $this->set('isAjax', $this->RequestHandler->isAjax());
    

    这样您就可以在视图中简单地检查 $isAjax。

    【讨论】:

    • 是的,相当简单。效果很好。谢谢。
    • 如果这对任何人都失败了,并且您碰巧使用了某种自定义 ajax 框架(而不是来自大型 javascript 库的框架),请确保您的请求标头设置正确:例如req.setRequestHeader('X-Requested-With', 'XMLHttpRequest');设置 isAjax() 时 cake php 对此进行嗅探
    【解决方案2】:

    在视图中检查 $this->params['isAjax']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-28
      • 2012-10-21
      相关资源
      最近更新 更多