[英]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.