Per l'invio di token OAuth2 sto installando default intestazione AngularJS come questo:Set default colpo di testa AngularJS ma non lo usano su una specifica richiesta
$http.defaults.headers.common['Authorization'] = 'Bearer ' + access_token;
Questa grande opera, ma non hanno bisogno di questo intestazione (ricevo un errore) per una richiesta specifica.
C'è un modo per escludere l'intestazione di default quando si esegue quella richiesta?
Grazie!
risolto
Grazie a Riron per me salire su una strada giusta. Ecco la risposta:
$http({
method: 'GET',
url: 'http://.../',
transformRequest: function(data, headersGetter) {
var headers = headersGetter();
delete headers['Authorization'];
return headers;
}
});
Quindi, se ho impostato come default intestazione (non come transformRequest, ma il modo in cui ho fatto in il mio post di domanda), non posso davvero disinserirlo per una richiesta? – Julius
Se si desidera disinserirlo, sarà necessario utilizzare il parametro 'transformRequest' per la richiesta specifica e modificare le intestazioni tramite una funzione personalizzata. – Riron
Attenzione - https://github.com/angular/angular.js/commit/5da1256fc2812d5b28fb0af0de81256054856369 A causa di 5da1256, le funzioni transformRequest non possono più modificare le intestazioni delle richieste. –