javascript - toto nepřistupuje k objektu http response: vlastnost neexistuje na typu Object
Mám objekt odpovědi, který jsem právě přiřadil k objektu „this“.
private data: Object = {};
this.http.post('url', { })
.subscribe(
res => {
console.log(res);
this.data = res;
if(this.data.datacentersinfo.length) {}
...
Pokud přistoupím k objektu datacentersinfo, hlásí to, že vlastnost datacentersinfo neexistuje na typu Object. Kvůli této chybě nemohu vygenerovat složku dist.
Odpověď č. 1
Máte několik řešení:
1 - napište svá data do libovolného typu a nevytvářejte jeho instanci :
private data: any;
2 - změňte svůj stav :
if(this.data && this.data.datacentersinfo && this.data.datacentersinfo.length) {}
To by mělo vyřešit váš problém.
Odpověď č. 2
navrhuji, abyste využili silně typizovaný objekt a postupovali níže
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());
}
