在我的代码出于某种原因,我想区分正常的HTTP请求和AJAX请求(即XML HTTP请求)。如何区分使用express的Node.js中的HTTP请求和XML HTTP请求?
搜索了很多后,我尝试使用req.isXMLHttpRequest
,但对于这两种类型的请求,它都会返回undefined
。
现在我通过增加每一个标志和每一个HTTP请求为isAjax
与真正或假值处理它。
问题:什么是最好的建议方式?
要使用添加标志(
isAJAX
)每个XML HTTP请求(有真或假)找出并修复
req.isXMLHttpRequest
相关的问题。
将有很大的帮助,如果有人告诉我,为什么req.isXMLHttpRequest
正在恢复undefined
?
高级感谢
注:我使用Node.js的版本0.8.20和快递版本3.1.0
'req.xhr'工作。但为什么不'req.isxmlhttprequest'。自从它记录了http://expressjs.com/2x/guide.html#req.isxmlhttprequest。 – 2013-02-23 08:16:16
@AmolMKulkarni你应该使用当前的指南http://expressjs.com/api.html#req.xhr我认为你正在看的版本指南是2.x,而你正在使用3.x – scartag 2013-02-23 08:17:37
请注意,req.xhr只需检查一个特定的请求头,它不会被浏览器自动添加到每个XMLHttpRequest中,而只会被一些JavaScript框架所添加。 – 2013-04-16 01:10:50