Запрос 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), пользовательский агент должен выполнить следующие действия: [...]

Завершите эти шаги, если заголовок является нечувствительным к регистру совпадением для одного из следующих заголовков:

[...]

  • User-Agent

Ответ 2

Если вы используете jQuery, установите заголовок запроса в ajaxSetup.

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

Ответ 3

Ну, вы всегда можете использовать jQuery для публикации на серверной странице, которая затем, в свою очередь, может изменить заголовок User-Agent, а также сделать запрос на страницу, к которой непосредственно обращался бы jQuery.