AngularJS - Ne peut pas lire les en-têtes de réponse à partir de $http
Ma réponse http contient les en-têtes d'Authentification (comme indiqué ici: Authentication:76efbc0946773b62c93e952b502a47acd898200f6f80dc46ac87ffc501c00780
) quand j'ai inspecter la demande auprès de l'inspecteur, mais un appel à headers("Authentication")
retourne null
return $http({
method: "GET",
url: url,
headers: {
'Content-Type': "application/json"
}
}).success(function (data, status, headers, config) {
console.log(headers("Authentication"));
})
Avez-vous une idée sur ce que je pourrais faire de la mauvaise façon ?
Pour info, j'ai essayé de le remettre à une "promesse", avec .then
, et le problème est toujours le même.
Vous avez probablement besoin d'ajouter de Contrôle d'Accès-Exposer-en-Têtes de votre réponse du serveur pour le rendre accessible - voir stackoverflow.com/questions/17038436/...
c'est tout. Réponse si vous voulez pour obtenir la prime.
c'est tout. Réponse si vous voulez pour obtenir la prime.
OriginalL'auteur GeoffreyB | 2015-03-07
Vous devez vous connecter pour publier un commentaire.
Votre code semble bon, mais si c'est un SCRO requête, le serveur doit inclure l'Accès-Contrôle-Exposer-en-Têtes: {toutes les en-têtes personnalisés} dans la réponse.
Il y a une question précédente avec plus de détails: La lecture des en-têtes de réponse lors de l'utilisation de $http d'Angularjs
OriginalL'auteur Brad Barber
Dans la réussite de rappel :
Je pense que la première ligne de retourner le résultat dans votre cas.
Dans la seconde, avez-vous eu la "Authentification"?
Les en-têtes personnalisés seront visibles dans le même domaine. Dans crossdomain cas, vous devez envoyer
Access-Control-Expose-Headers: Authentication, ...
en-tête à partir du serveur.OriginalL'auteur SilvR-O