微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检查Ajax是否发送请求

在处理之前,我重写了一个magento控制器,有没有办法知道请求是否由Ajax发送?

谢谢

Magento使用类Zend_Controller_Request_Http作为其请求.

您可以使用

if ($this->getRequest()->isXmlHttpRequest()) {
    // is Ajax request
}

以这种方式检测Ajax请求.

至少

>原型
> Scriptaculous
> jQuery
> YUI
> MochiKit

根据ZF docs发送HTTP_X_REQUESTED_WITH标头.

请注意,“Ajax请求”是指使用XmlHttpRequest发送的请求(并且不使用隐藏的< iframe> s或Flash上​​传者等技术)发送给我.

既然这是主观的,你的看法可能会有所不同:Magento本身似乎以比我更为扩展的方式来定义“Ajax”.看看Mage_Core_Controller_Request_Http :: isAjax():

public function isAjax()
{
    if ($this->isXmlHttpRequest()) {
        return true;
    }
    if ($this->getParam('ajax') || $this->getParam('isAjax')) {
        return true;
    }
    return false;
}

根据您对“Ajax”的个人看法,这可能(或可能不)更符合您的需求.

原文地址:https://www.jb51.cc/ajax/159884.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐