2017-03-01 5 views
0

Ich habe den Kopf über eine gute Woche geschlagen, und ich bin schließlich ein Aufruf an das StackOverflow-Universum in der Hoffnung, jemand ist dieses Problem schon einmal begegnet und kann helfen Ich finde es heraus.Hinzufügen von Autorisierung zu Header in angular2 api Anruf

Ich bin neu in Angular2 und das ist meine erste App damit. Ich versuche nur, einen Anruf zu erhalten, um eine Liste von Unternehmen zu erhalten. Ich habe ein Sucheingabefeld für eine Komponente, die einen Anruf innerhalb eines Dienstes tätigt. Der Anruf schlägt ständig fehl, da ich die Header für den Anruf scheinbar nicht mit der richtigen Authentifizierung aus dem Sitzungstoken, das ich habe, übergeben kann. Es geht immer nur mit {"content-type": "application/json"}. Hier

ist der Anruf auf meinem Service:

searchAllForTerm(term: string): Promise<Business[]> { 
    let headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    let authToken = localStorage.getItem('token'); 
    headers.append('Authorization', `Bearer ${authToken}`); 
    return this.http.get(this.businessesUrl + term, {headers}) 
    .toPromise() 
    .then(this.extractData) 
    .catch(this.handleError); 
} 

I

import { Http, Response, Headers} from '@angular/http'; 

auf die Datei importiert haben, und stellen Sie den Konstruktor

constructor(private http: Http) {} 

Dennoch, wenn der Anruf bekommt Hat die Autorisierung nicht in der Kopfzeile gemacht. Irgendwelche Ideen?

+1

Hey hast du diesen Beitrag gesehen: http://StackOverflow.com/questions/34464108/angular2-set-headers-for-e-very-request kann es helfen. –

Antwort

0

Also habe ich das herausgefunden! Ich hatte das Tutorial "Angular 2 Tour of Heroes" verfolgt, um das Skelett für meine App zu erstellen. In diesem Tutorial haben Sie eine falsche Datenbank lokal erstellt, um sie als API zu verwenden. Weil ich versuchte, diese API zu nennen, warf mein Versuch, die echte API zu nennen, diese seltsame unautorisierte Fehlerantwort.

Verwandte Themen