2017-03-01 89 views
0

我一直在敲打我的頭在這一個星期的大部分時間,我終於發行,希望有人在StackOverflow的宇宙呼叫遇到這個問題之前,可以幫助我知道了。添加授權在angular2 API調用頭

我是新來Angular2,這是我的第一個應用它。我只是想通過api電話獲得一份企業名單。我在一個組件上有一個搜索輸入字段,用於在服務中進行調用。通話持續失敗,因爲我似乎無法頭傳遞到與我有會話標識正確的身份驗證呼叫。它始終只是 {:「應用/ JSON的」內容「類型」}通過。

這裏是我的服務電話:

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); 
} 

我已經在文件中導入

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

,並設置構造函數

constructor(private http: Http) {} 

不過,當呼叫被使授權不在標題中。有任何想法嗎?

+1

嗨你看過這篇文章:http://stackoverflow.com/questions/34464108/angular2-set-headers-for-every-request它可能有幫助。 –

回答

0

所以我想通了這一點!我遵循Angular 2的英雄教程,爲我的應用程序構建骨架。在那個教程中,他們讓你在本地構建一個僞造的數據庫來用作api。因爲我試圖調用API,我在呼喚真正的API試圖拋出這個陌生的未經授權的錯誤響應。