繁体   English   中英

Typescript / Angular2 http.post不设置标题

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM