在控制器内部,知道请求是否是XMLHTTP(ZF)的最佳方法是什么?

Ita*_*vka 1 php ajax zend-framework

我在动作中有不同的逻辑取决于请求是否是AJAX.
(对于AJAX登录,我不需要在成功登录后重定向,例如,在正常登录中不是这种情况).
什么是最好的方法,除了检查标题X-Requested-With: XMLHttpRequest
是否有标志或什么?

Dav*_*unt 6

此方法通过检查几乎(如果不是)所有主要JS库(包括jQuery和YUI)设置的标头来工作.

$this->getRequest()->isXmlHttpRequest() //returns true if is XHR
Run Code Online (Sandbox Code Playgroud)

smack0007详细说明的方法保证准确,但如果连接始终由设置标题的库进行连接,则上述方法很好.它可能不适合公共API.