2010-06-18 2 views
43

Я пытаюсь получить доступ к документам google с помощью jQuery. Вот то, что я до сих пор:Установить заголовки с jQuery.ajax и JSONP?

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 (от Make Cross Domain Ajax Requests with jQuery). Если я не укажу jsonp, я не могу выполнить кросс-доменный запрос. Если я использую jQuery.getJSON, я не могу передать никаких заголовков ...

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

ответ

65

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

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

+1

спасибо, большое знать. последующий вопрос: http://stackoverflow.com/questions/3073336/how-to-make-cross-domain-requests-in-jquery-and-set-custom-headers. –

Смежные вопросы