javascript - 这无法访问 http 响应对象:属性在类型 Object 上不存在
我有一个响应对象,我刚刚将它分配给“this”对象。
private data: Object = {};
this.http.post('url', { })
.subscribe(
res => {
console.log(res);
this.data = res;
if(this.data.datacentersinfo.length) {}
...
如果我访问 datacentersinfo 对象,它会提示属性 datacentersinfo 在类型 Object 上不存在。由于这个错误,我无法生成 dist 文件夹。
答案#1
你有几种解决方案:
1 - 将你的数据类型设置为 any,不要实例化它:
private data: any;
2 - 改变你的状况:
if(this.data && this.data.datacentersinfo && this.data.datacentersinfo.length) {}
这应该可以解决你的问题。
答案#2
我建议你使用强类型对象,并按如下方式操作
import { Injectable } from '@angular/core';
import { Http, Headers, RequestOptions,
Response, ResponseContentType } from '@angular/http';
GetAllCriteria(): Observable<Array<ClassName>> {
let headers = new Headers({
'Content-Type': 'application/json'
});
let options = new RequestOptions({ headers: headers });
return this._http.get(this.apiUrl + "/GetAllCriteria",
options).subscribe(response => response.json());
}
