打字稿错误 - 属性“标题”的类型不兼容
Posted
技术标签:
【中文标题】打字稿错误 - 属性“标题”的类型不兼容【英文标题】:typescript error - Types of property 'headers' are incompatible 【发布时间】:2018-11-18 14:15:47 【问题描述】:我的 Angular 应用程序有问题。当我尝试拨打 http
时收到打字稿错误。
这是错误输出:
[09:36:28] 打字稿:C:/xampp/htdocs/project x/anonymous-social/src/pages/home/home.ts,行:184 ' headers: HttpHeaders; 类型的参数' 不可分配给“RequestOptionsArgs”类型的参数。 属性“标题”的类型不兼容。类型“HttpHeaders”不可分配给类型“Headers”。 “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】:这是我设置标题的方式,我使用的是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 );
// ...
【讨论】:
以上是关于打字稿错误 - 属性“标题”的类型不兼容的主要内容,如果未能解决你的问题,请参考以下文章
“键盘”类型上不存在打字稿错误属性“hideKeyboardAccessoryBar”。在 IONIC Moodle 应用程序上
打字稿中的错误:“AngularFireStorageModule”类型上不存在属性 .ref
错误:“HTMLDivElement”类型上不存在属性“值”?打字稿找不到我的div?
如何修复 VSCode 中的“‘CombinedVueInstance’类型上不存在属性 XX”错误? (带有打字稿的Vue)