J'utilise angular JS pour me connecter à mon application. Sur le serveur, il renvoie un X-AUTH-TOKEN. Quand je fais une requête JSON. La réponse de l'en-tête ressemble à ceci ...X-AUTH-TOKEN renvoie null même s'il est présent dans l'en-tête
Pragma: no-cache
Date: Thu, 19 Nov 2015 12:44:05 GMT
X-Content-Type-Options: nosniff
Server: Apache-Coyote/1.1
X-Frame-Options: DENY
Access-Control-Max-Age: 3600
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Allow-Origin: chrome-extension://gmodihnfibbjdecbanmpmbmeffnmloel
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
X-AUTH-TOKEN: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJiaWxseWpvZSJ9.le0y_pOfQAyLJO4IJ4ZjQQqgqgiN2xtpLAzORawoDm4O4euHFh32LtjMrBUTkr8G2LeY_2bALe_rcm3LY_NlSg
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, Accept, X-Requested-With, remember-me
Content-Length: 88
X-XSS-Protection: 1; mode=block
Expires: 0
Comme vous pouvez le voir. X-AUTH-TOKEN est présent. Mais quand j'essaye de le récupérer et l'enregistrer au stockage local ...
$http.post(loginUrl)
.success(function(data, status,headers) {
$scope.hello = data;
var TOKEN = headers("X-AUTH-TOKEN");
window.localStorage['X-AUTH-TOKEN-TRIVIA'] = headers("X-AUTH-TOKEN");
})
Il renvoie toujours la valeur NULL. Pourquoi ne récupère-t-il pas le jeton si c'est clairement dans l'en-tête?
J'ai également utilisé des guillemets simples.
$http.post(loginUrl)
.success(function(data, status,headers) {
$scope.hello = data;
var TOKEN = headers('X-AUTH-TOKEN');
window.localStorage['X-AUTH-TOKEN-TRIVIA'] = headers('X-AUTH-TOKEN');
})
'têtes [ 'X-AUTH-TOKEN']' 'au lieu de les en-têtes ("X-AUTH-token")'. C'est un tableau pas une fonction afaik. –
@ M.Deinum a raison. Vérifiez également le journal de la console de votre navigateur (F12), vous verrez une erreur disant: "TypeError: header n'est pas une fonction". – Kenney
J'ai utilisé les deux. J'ai mis à jour mon code. toujours NULL. Et j'ai aussi enregistré dans une variable pour voir si c'est là. toujours nul. – numerical25