2016-04-21 4 views
-1

ich diesen Code verwendet haben, auf http.postdas Ergebnis von API Erste, http.post mit Ionic2

var creds = encodeURI("name="+name+"&email="+email); 

var headers = new Headers(); 
headers.append('Content-Type', 'application/x-www-form-urlencoded'); 
headers.append('Accept', 'application/json'); 

this.http.post('https://api.example.com/v1/auth/register', creds, { 
    headers: headers 
}) 
.map(res => res.json()) 
.subscribe(
() => console.log('Registration Complete') 
); 

Aus dem Code über einen Anruf zu tätigen, kann die API zurückgeben eine Fehlermeldung wie unten aussieht.

{ 
    "error": "Validation error.", 
    "errors": [ 
     "The username has already been taken.", 
     "The email must be a valid email address." 
    ] 
} 

Wie kann ich die Fehlermeldung von API-Anfrage erhalten und es anzeigen?

Antwort

1

Der zweite Parameter in Zeichnung ist der Fehler, der dritte ist ‚endlich‘

this.http.post('https://api.example.com/v1/auth/register', creds, { 
    headers: headers 
}) 
.map(res => res.json()) 
.subscribe(
() => console.log('Registration Complete') 
), (err) => console.log(err); 
+0

Nein, ich nicht den Fehler wollen. Eigentlich möchte ich diese Nachricht von API –

+0

zurückgeben Als sein der erste Parameter, aber Sie haben es leer .. Es sollte sein '' this.http.post ('https://api.example.com/v1/auth/ registrieren‘, creds, { Header: Header }) .map (res => res.json()) .subscribe ( (messageFromApi) => console.log (messageFromApi) )' '' –

+0

Hat der Rückmeldung kann noch mit http.post gelesen werden, auch die API hat Header-Code 400? –