ho il seguente codice nel mio servizioGet messaggio di errore da Angular 2 http
myService.ts
makeHttpGetRequest(url){
return Observable.interval(config.SUPERVISOR_REFRESH_INTERVAL * 1000)
.switchMap(() => this.http.get(url))
.map(res => res.json())
.timeout(config.REQUEST_TIMEOUT * 1000, new Error('Time out occurred'))
}
Nel mio file componente,
myComponent.ts
ngOnInit(){
this._myService.makeHttpGetRequest(myurl)
.subscribe(
data => {
this.supervisorServers = data;
}
},
error => {
this.error = true;
console.log(error); //gives an object at this point
this.showError(error);
}
);
}
Voglio stampare il messaggio di errore in caso di per es. URL Invailid. Quando stampo l'errore, ottengo un oggetto (probabilmente oggetto di risposta) come la seguente:
Object { _body: error, status: 200, statusText: "Ok", headers: Object, type: 3, url: null }
Se apro questo, non riesco a trovare il messaggio di errore. C'è un modo migliore per ottenere messaggi di errore precies?
Grazie per la risposta. Posso accedervi. Ma per es. quando ho un url non valido, non riesco a vedere il messaggio di errore nel corpo della risposta. È possibile ottenere un messaggio di errore da mostrare sull'interfaccia utente? – user3288346
Prego! In effetti, non puoi avere il messaggio esatto poiché non è accessibile all'interno dell'oggetto XHR. Detto questo, puoi fare affidamento sul campo 'status' di questo oggetto ... Ho aggiornato la mia risposta. –