JQuery Ajax请求:更改用户代理

我正在使用JQuery向我自己的Web服务发出一个AJAX请求。 我需要为HTTP-AJAX-Request设置或修改User-Agent HTTP-Header,我怎样才能做到这一点?

我尝试了一些用户提供的提示使用setRequestHeader方法来设置用户代理,但这是行不通的。 它确实适用于其他新创build的头文件(如X-Test-Header ),但对于User-Agent不起作用。

谢谢!

这是根本不可能的,你不能改变XMLHttpRequests的用户代理。 我不确定这是否适用于Internet-Explorer,但w3c 在这里指定:

setRequestHeader()方法

[…]

当调用setRequestHeader(header,value)方法时,用户代理必须运行以下步骤:[…]

如果标头对以下标头之一是不区分大小写的匹配,请终止这些步骤:

[…]

  • 用户代理

如果您使用的是jQuery,请在ajaxSetup中设置请求标头。

 $.ajaxSetup({ beforeSend: function(request) { request.setRequestHeader("User-Agent","InsertUserAgentStringHere"); } }); 

那么,你总是可以使用jQuery发布到服务器端页面,然后又可以修改User-Agent头,并且可以向jQuery直接访问的页面发出请求。