Запрос JQuery Ajax: изменить User-Agent
Я использую JQuery для выдачи AJAX-запроса на свой собственный Web-сервис. Мне нужно установить или изменить HTTP-заголовок User-Agent
для HTTP-AJAX-Request, как я могу сделать это самым простым способом?
Я попробовал подсказку, предоставленную некоторыми пользователями, чтобы использовать метод setRequestHeader
для установки User-Agent, но это не работает. Он действительно работает для других вновь созданных заголовков (например, X-Test-Header
), но он не работает для User-Agent
.
Спасибо!
Ответы
Ответ 1
Это просто невозможно, вам не разрешено изменять пользовательский агент для XMLHttpRequests. Я не уверен, что это действительно для Internet Explorer, но w3c указывает здесь:
Метод setRequestHeader()
[...]
Когда вызывается метод setRequestHeader (header, value), пользовательский агент должен выполнить следующие действия: [...]
Завершите эти шаги, если заголовок является нечувствительным к регистру совпадением для одного из следующих заголовков:
[...]
Ответ 2
Если вы используете jQuery, установите заголовок запроса в ajaxSetup.
$.ajaxSetup({
beforeSend: function(request) {
request.setRequestHeader("User-Agent","InsertUserAgentStringHere");
}
});
Ответ 3
Ну, вы всегда можете использовать jQuery для публикации на серверной странице, которая затем, в свою очередь, может изменить заголовок User-Agent
, а также сделать запрос на страницу, к которой непосредственно обращался бы jQuery.