ajaxSetup (beforeSend ne fonctionne pas
après la connexion à distance de l'aPI serveur, et d'obtenir un access_token, j'essaie de définir l'en-tête d'autorisation pour tous les appels ajax :
.done(function (result) {
console.log("GOT AUTHORIZATION");
amplify.store( "tokens", { access_token: result.access_token, refresh_token: result.refresh_token, token_type: result.token_type, expires_in: result.expires_in });
var authorization = 'Bearer ' + amplify.store( "tokens" ).access_token;
console.log(authorization);
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', authorization);
}
});
sur console je peux voir :
GOT AUTHORIZATION login.js:34
Bearer 6b7578772fbb4178793100651f2234de840237fe
mais rien de la suite des appels ajax obtenir le bon en-tête set :
https://macmini.local:8000/Categories?_=1381758170726
ne peut réussir que pas access_token est trouvé dans l'en-tête ( serveur de console ..)
{ code: 400,
error: 'invalid_request',
error_description: 'The access token was not found',stack: undefined }
saveAccessToken: 6b7578772fbb4178793100651f2234de840237fe, client_id: 1234567890, user_id: 1
J'ai essayé de modifier l'en-tête à l'intérieur de l'appel ajax wo succès
OriginalL'auteur | 2013-10-14
Vous devez vous connecter pour publier un commentaire.
Mise À Jour De Réponse
De jQuery 1.5
.ajax
prend en chargeheaders
propriétéNotes: le
authorization
variable doit être définie quelque part avant cet appelVieille Réponse
Pour la
ajaxSetup
à travailler, vous devez appeler dans le document.prêt.c'est probablement obsolète aujourd'hui, vous pouvez simplement mettre "en-têtes" bien directement en $.ajax()
mise à jour de réponse, merci de le signaler à moi. Sans vous je ne serais pas le remarquer.
OriginalL'auteur abc123
Je sais que c'est une vieille question, mais je suis venu ici à partir de Google et de la pensée d'autres personnes à la recherche de la même chose doit avoir une solution de travail. J'ai essayé la suggestion de réponse, mais il ne fonctionne pas pour moi.
Une solution qui a résolu mon problème est de définir l'en-tête directement dans
xhr
objet à l'intérieur de$.ajaxSend
:Vous devriez l'appeler dans le
document.ready
pour laajaxSend
de travail.Que de semblables question m'a aidé.
OriginalL'auteur Serhii Popov