检查Ajax是否发送请求

前端之家收集整理的这篇文章主要介绍了检查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”的个人看法,这可能(或可能不)更符合您的需求.

猜你在找的Ajax相关文章