ich eine post-Methode haben, die funktioniert und mein Token vom Server holenAngular 2 http.get sendet nicht das Token im Header
authenticate() {
let url = this.server + 'authenticate';
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let body = JSON.stringify({
'password': 'admin',
'rememberMe': true,
'username': 'admin'
});
return this._http.post(url, body, options)
.map((res: Response) => res.json())
.subscribe(result => this.token = result.id_token);
}
wo this.server
eine Zeichenfolge ist die URL des Servers mit. und this._http
ist nur ein Beispiel des Winkels Http
private _http: Http;
constructor(http: Http) {
this._http = http;
}
und this.token
ist nur ein leerer String private token: string;
aber alles funktioniert ganz gut, und ich bin immer die richtigen Token vom Server. Mein Problem ist, dass, wenn ich versuche, dieses Token in einer Get-Methode zu verwenden, es nicht funktioniert und ich einen 401 (nicht autorisierten) Fehler bekomme.
Mein Buggy get-Methode ist:
getData(src) {
let url = this.server + src;
let headers = new Headers({'Authorization': 'Bearer ' + this.token});
return this._http.get(url, headers)
.map((res: Response) => res.json())
.subscribe(res => console.log('res'));
}
Ich hatte tatsächlich so sein, und es gibt keinen Unterschied, was so überhaupt eine Rückkehr in die .map() –
'.map ((res rufen hinzu: Response => zurück res.json ()) ' –
Vielen Dank für Sie, aber das war nicht das Problem.Ich schrieb die Antwort, wenn Sie es wollen –