2010-06-18 12 views
43

Próbuję uzyskać dostęp do dokumentów Google za pomocą jQuery. Oto co mam do tej pory:Ustaw nagłówki z jQuery.ajax i 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) { 
    } 
}); 

To nie pozwala mi ustawić nagłówki jeśli ustawić dataType do jsonp (od Make Cross Domain Ajax Requests with jQuery). Jeśli pominiemy jsonp, nie będę mógł utworzyć żądania międzydomenowego. Jeśli używam jQuery.getJSON, nie mogę przekazać żadnych nagłówków ...

Czy istnieje sposób definiowania niestandardowych nagłówków podczas tworzenia żądania ajax w wielu domenach (w jQuery)?

Odpowiedz

65

To nie jest możliwe.

Żądanie JSONP działa poprzez utworzenie elementu <script> z jego atrybutem src ustawionym na adres URL żądania. Nie można dodawać niestandardowych nagłówków do żądania HTTP wysyłanego przez element <script>.

+1

dzięki, świetnie wiedzieć. pytanie uzupełniające: http://stackoverflow.com/questions/3073336/how-to-make-cross-domain-requests-in-jquery-and-set-custom-headers. –