2017-12-11 5 views
0

Ich habe einen Authentifizierungsdienst in Angular 5 geschrieben, der eine POST-Anfrage an mein Backend unter Verwendung der HttpClient Klasse macht. Das Back-End antwortet mit dem Senden eines JWT-Bearer-Tokens.Wie greife ich Antwort-Header mit HttpClient in Angular 5?

sieht meine Anfrage wie folgt aus:

return this.http.post('http://127.0.0.1:8080/api/v1/login', { 
    'username': username, 
    'password': password 
}, { 
    headers: new HttpHeaders() 
    .set('Content-Type', 'application/json') 
}) 
    .toPromise() 
    .then(response => { 
    console.log(response); 
    return response; 
    }); 

}

Wie greife ich auf die Genehmigung Header der Antwort?

Wenn ich die Antwort auf die Konsole schreibe, wie oben, heißt es 'null'. Ich weiß, dass der Fehler nicht im Backend liegt, weil ich den Traffic erfasst habe und das Backend tatsächlich das Bearer-Token sendet.

Jede Hilfe wird sehr geschätzt.

Antwort

2

Um auf die vollständige Antwort (nicht nur den Hauptteil der Antwort) zuzugreifen, müssen Sie die observe: 'response' Parameteroption in Ihrer http-Anfrage übergeben. Jetzt können Sie die Header Zugriff mit res.headers

return this.http.post('http://127.0.0.1:8080/api/v1/login', { 
     'username': username, 
     'password': password 
    }, { 
     headers: new HttpHeaders() 
      .set('Content-Type', 'application/json'), 
     observe: 'response' 
    }) 
    .map(res => { 
     let myHeader = res.headers.get('my-header'); 
    }); 

Docs

Verwandte Themen