[英]Typescript/Angular2 http.post doesn't set headers
我試圖從Angular2 beta 8發布json但是標題沒有被傳輸:
import { RequestOptions, RequestMethod, RequestHeaders, RequestOptionsArgs, Http } from 'angular2/http';
// ...
let headers = new Headers(),
body = JSON.stringify({ identifier, password });
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
let opts:RequestOptionsArgs = { headers: headers };
this.http.post(this.baseUrl + 'auth/login', body, opts)
.subscribe(
data => console.log(data),
err => console.log(err.json().message),
() => console.log('Authentication Complete')
);
但Chrome中的XHR調用沒有這些標題。 Chrome調試顯示Content-Type
標頭已標記為Provisional Headers are Shown
標Provisional Headers are Shown
並顯示Content-Type:text/plain;charset=UTF-8
。 標題值似乎是正確的:
console.log(headers.get('Content-Type')) // => 'application/json'
console.log(headers.get('Accept')) // => 'application/json'
問題是我在拉入RequestHeaders
,但它應該只是Headers
。 為什么它沒有給我一個錯誤,我不知道。
你需要像這樣導入Headers
類(你從angular2/http
導入時angular2/http
):
import {
RequestOptions,
RequestMethod,
RequestHeaders,
RequestOptionsArgs,
Http,
Headers // <------
} from 'angular2/http';
// ...
let headers = new Headers(),
body = JSON.stringify({ identifier, password });
有關詳細信息,請參閱此問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.