Ich beginne mit eckigen 4 und serverseitigen Rendering, derzeit versuche ich einen Proof of Concept holen einige Daten von einem meiner externen APIs. Diese API gibt ein Json-Objekt zurück.Abrufen von Daten in Angular 4
Die Seite wurde ziemlich gut gerendert, aber jetzt, wo ich den Aufruf zum Abrufen von Daten aufgenommen habe, wird es nicht gerendert und die Antwort, die ich bekomme, scheint nicht das zu sein, was ich bekommen sollte.
In den app.components.ts fügte ich hinzu:
private apiUrl= 'https://myapi/Users';
data: any = {};
constructor(private http: Http){
this.getUsers();
this.getData();
}
getData(){
let res=this.http.get(this.apiUrl).map((res: Response)=>res.json());
console.log("result:",res)
return res;
}
getUsers(){
this.getData().subscribe(data=>{
this.data=data;
})
}
Nun, wie Sie in der GetData-Methode sehen kann ich das Ergebnis der http Anrufe in Konsole Druck bin, aber ich dies immer:
Observable {
_isScalar: false,
source: Observable { _isScalar: false, _subscribe: [Function] },
operator: MapOperator { project: [Function], thisArg: undefined } }
Warum bekomme ich nicht das Json-Objekt? Was könnte der Grund sein?
Das ist richtig. Ihre "Res" ist eigentlich ein "Observable", nicht die Daten selbst. Observables sind asynchron. Um die echten Daten zu sehen, 'console.log' es an Ihrem' subscribe() '. Rückruf-Funktion, oder Sie können es in Ihrer 'Karte' Callback-Funktion sehen. – CozyAzure