Установить заголовки с помощью jQuery.ajax и JSONP? - PullRequest
45 голосов
/ 19 июня 2010

Я пытаюсь получить доступ к документам Google с помощью jQuery. Вот что у меня есть:

var token = "my-auth-token";
$.ajax({
  url: "http://docs.google.com/feeds/documents/private/full?max-results=1&alt=json",
  dataType: 'jsonp',
  beforeSend: function(xhr) {
    xhr.setRequestHeader("Authorization", "GoogleLogin auth=" + token);
  },
  success: function(data, textStatus, XMLHttpRequest) {
  },
  error: function(XMLHttpRequest, textStatus, errorThrown) {
  }
});

Это не позволяет мне устанавливать заголовки, если я устанавливаю dataType в jsonp (из Выполнение междоменных запросов Ajax с jQuery ). Если я пропущу jsonp, я не смогу сделать междоменный запрос. Если я использую jQuery.getJSON, я не могу передать ни одного заголовка ...

Есть ли способ определения пользовательских заголовков при создании междоменного запроса ajax (в jQuery)?

1 Ответ

68 голосов
/ 19 июня 2010

Это невозможно.

Запрос JSONP работает путем создания элемента <script> с атрибутом src, установленным в URL-адресе запроса.
Вы не можете добавить пользовательские заголовки в HTTP-запрос, отправленный элементом <script>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...