我的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)
})
任何想法我做错了什么?任何帮助将不胜感激!
答案 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 });
// ...