web-dev-qa-db-fra.com

Définir les en-têtes avec jQuery.ajax et JSONP?

J'essaie d'accéder à Google Documents avec jQuery. Voici ce que j'ai jusqu'à présent:

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) {
  }
});

Cela ne me permet pas de définir des en-têtes si je mets dataType à jsonp (à partir de Faire des requêtes Ajax inter-domaines avec jQuery ). Si je laisse de côté jsonp, je ne peux pas faire la demande interdomaine. Si j'utilise jQuery.getJSON, Je ne peux passer aucun en-tête ...

Existe-t-il un moyen de définir des en-têtes personnalisés lors d'une demande ajax interdomaine (dans jQuery)?

46
Lance Pollard

Ce n'est pas possible.

Une requête JSONP fonctionne en créant un <script> élément avec son attribut src défini sur l'URL de la demande.
Vous ne pouvez pas ajouter d'en-têtes personnalisés à la demande HTTP envoyée par un <script> élément.

69
SLaks