I'm using JQuery to issue a AJAX-Request to my own Webservice. I need to set or modify the User-Agent
HTTP-Header for the HTTP-AJAX-Request, how can I do this the easiest way?
I tried the hint provided by some users to use the setRequestHeader
Method to set the User-Agent, but this does not work. It does in fact work for other newly created headers (like X-Test-Header
) but it does not work for User-Agent
.
Thanks!
It is simply impossible, you are not allowed to change the user-agent for XMLHttpRequests. I'm not sure if this is valid for Internet-Explorer, but the w3c specifies here:
The setRequestHeader() method
[...]
When the setRequestHeader(header, value) method is invoked, the user agent must run these steps: [...]
Terminate these steps if header is a case-insensitive match for one of the following headers:
[...]
- User-Agent
If you are using jQuery, set the request header in the ajaxSetup.
$.ajaxSetup({
beforeSend: function(request) {
request.setRequestHeader("User-Agent","InsertUserAgentStringHere");
}
});
Well, you could always use jQuery to post to a server-side page which then in turn is able to modify the User-Agent
header, and also make a request to the page which would have been directly accessed by jQuery.
来源:https://stackoverflow.com/questions/5771878/jquery-ajax-request-change-user-agent