13

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

4

2 回答 2

34

如果您使用 Prototype、jQuery、Mootools 或 YUI,您应该找到一个X-Requested-With:XMLHttpRequest标头,它会为您解决问题。应该可以在其他库中插入您喜欢的任何标题。

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

xmlHttpRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
于 2008-10-19T08:49:40.730 回答
0

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

于 2008-10-19T08:48:20.860 回答