2010-06-18 17 views
43

Estoy intentando acceder a documentos de Google con jQuery. Esto es lo que tengo hasta ahora:Establecer encabezados con jQuery.ajax y 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) { 
    } 
}); 

No permite que fije las cabeceras si fijo el dataType a jsonp (de Make Cross Domain Ajax Requests with jQuery). Si dejo fuera jsonp, no puedo hacer la solicitud entre dominios. Si uso jQuery.getJSON, no puedo pasar ningún encabezado ...

¿Hay alguna forma de definir encabezados personalizados al realizar una solicitud de ajax entre dominios (en jQuery)?

Respuesta

65

Esto no es posible.

Una solicitud JSONP funciona creando un elemento <script> con su atributo src establecido en la URL de solicitud.
No puede agregar encabezados personalizados a la solicitud HTTP enviada por un elemento <script>.

+1

gracias, genial saberlo. pregunta de seguimiento: http://stackoverflow.com/questions/3073336/how-to-make-cross-domain-requests-in-jquery-and-set-custom-headers. –

Cuestiones relacionadas