typescript错误 - 属性“标题”的类型不兼容

时间:2018-06-08 13:41:40

标签: javascript angular typescript

我的Angular应用程序出现问题。我尝试进行http调用时收到打字稿错误。

这是错误输出:

  

[09:36:28] typescript:C:/ xampp / htdocs / project x / anonymous-social / src / pages / home / home.ts,line:184               类型'{headers:HttpHeaders; }'不能分配给'RequestOptionsArgs'类型的参数。               属性“标题”的类型不兼容。类型'HttpHeaders'不能分配给'标题'类型。               'HttpHeaders'类型中缺少属性'forEach'。

     

L183:this.http.post(url,JSON.stringify(payload),

     

L184:{headers:new HttpHeaders({'Content-Type':'application / json; charset = utf-8'})})

     

L185:.map((res:Response)=> {

我不完全确定它不喜欢什么..

这是我的实际代码:

我正在加载http/common/http

import { HttpHeaders } from "@angular/common/http";
import { Http, Response } from "@angular/http";

然后在构造函数中:

private http: Http,

然后最后我的js:

getCall(url, payload, text) {
  this.http.post(url, JSON.stringify(payload),
  {headers: new HttpHeaders({'Content-Type': 'application/json; charset=utf-8'})})
  .map((res:Response) => {
    console.log(res)
})

任何想法我做错了什么?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

这是我设置标题的方式,我使用的是Headers,而不是HttpHeaders

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

// ...

const headers = new Headers({ 'Content-Type': 'application/json; charset=utf-8' });
const options = new RequestOptions({ headers: headers });

// ...