HTTP请求的标头中是否有任何内容可以区分AJAX调用和来自给定客户端的直接浏览器请求?用户代理字符串通常是否相同?

有帮助吗?

解决方案

如果您使用Prototype,jQuery,Mootools或YUI,您应该找到 X-Requested-With:XMLHttpRequest 标题,它将为您提供帮助。应该可以在其他库中插入您喜欢的任何标题。

在最低级别,给定 XMLHttpRequest 或XMLHTTP对象,您可以设置此标头 setRequestHeader 方法如下:

xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');

其他提示

经过一些研究,看起来最好的方法是在进行AJAX调用时简单地指定自定义用户代理字符串,然后在服务器上检查此自定义用户代理字符串。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top