2017-03-12 5 views
2

Ich habe mit Winkel 2 gespielt und versucht, die Übergabe von Fehlern zu implementieren.Spezifischen Wert aus Antwortobjekt

Jetzt habe ich Szenario, wo ich POST zu api, und ich will es die Nachricht ausgeben, die von der API zurückgegeben wird, wenn es eine schlechte Anfrage (400) ist.

Dies ist der Code so weit, nicht sicher, wie Sie zur nächsten Stufe gelangen.

return this.http.post('http://localhost:8088/api/NextLevel', JSON.stringify(value), options) 
        .toPromise() 
        .then((res: Response) => res.json()) 
        .catch((error: any) => { this.handleError(error); }); 

private handleError(error: any) { 
if(error.status == '400') { 
// output to console the data contained for key Message 
} 
} 

Dies ist Beispiel für JSON-Objekt, das zurückgegeben wird:

{Message: "The level is not recorded", ModelState: Object} 

Grundsätzlich i ausgegeben werden soll, die Nachricht trösten „Das Niveau wird nicht aufgezeichnet“.

+0

Bitte fügen Sie auf Ihre Frage 'console.log (JSON.stringify (Fehler));' – Habeeb

+0

Does Dieser Code funktioniert? –

+0

@RomanC yup does – Aeseir

Antwort

0

Es hängt davon ab, was Ihre Antwort MIME-Typ ist.

Wenn seine JSON u wollen ..

response.json().data.Message OR 

response.json().Message 

, wenn sein Text u wollen

response.text() 
+0

Leider habe ich schon versucht, und keiner arbeitete – Aeseir

+0

response.json(). Body.Message ??? – danday74

+0

Yup versuchte das auch. Seltsam. – Aeseir