2017-09-07 55 views
0

我試圖使用角HttpClientModule運行API調用:角HttpClientModule請求頭

getUser(ticket) { 
console.log(ticket); // Returns valid ticket 
    return this.http.get('https://myapi/api/v1/flow-analysis', { 
     headers: new HttpHeaders().set('X-Auth-Token', ticket) 
    }); 
    } 

當我跑在我的客戶這個API調用,我得到了如下因素響應:

'Failed to provide service ticket to validate' 

我試圖運行在郵差相同的呼叫,而我得到了良好的反響:

enter image description here

我使用的Chrome與this extension。不知道是否會導致問題。

有什麼想法可能會出錯?

我使用角5

回答

1

您需要添加的Content-Type頭:

getUser(ticket: string) { 
    console.log(ticket); // Returns valid ticket 
    let headers: Headers = new HttpHeaders(); 
    headers.append('Content-Type', 'application/json'); 
    headers.append('X-Auth-Token', ticket); 

    return this.http.get('https://myapi/api/v1/flow-analysis', { 
     headers: headers 
    }); 
} 
+0

@TobySpeight是更好? – Shino

+0

這與最新的Angular不兼容。我正在使用Angular HttpclientModule。在你的解決方案中,我得到'Type'HttpHeaders'不可指定爲'Headers'類型。' – TheUnreal

+0

@TheUnreal這些更改對我有用: '從'@ angular/common/http'導入{HttpClient,HttpHeaders};' 'let headers:HttpHeaders = new HttpHeaders();' – Shino