Ich arbeite an einem Projekt mit Web-API-Backend und angular2 Frontend. Ich habe ein Problem mit dem Serverfehler in angular2. Bei jedem Serverfehler wird ein CORS-Fehler ausgelöst.Web-API-Ausnahme in angular2 anzeigen
Here is my sample api
public IActionResult Post([FromBody] Visitor model)
{
if (model == null) throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NoContent)
{
ReasonPhrase = "Missing model in post"
});
_registerService.register(model);
return Ok(model);
}
And here is my angular2 service
addVisit(visit: Visit) {
let siteId = visit.siteId;
let body = JSON.stringify(visit);
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.authHttp
.post(`${this._visitorsUrl}` + siteId, body, options)
.map(res => {
res.json();
console.log("map: " + JSON.stringify(res.json()));
})
.catch(err => console.log(err));
}
Wenn das Modell ist null zurückgeben Fehler 502 oder CORS Fehler, aber wenn das Modell nicht null ist, wird es RETRN 200
Mein Problem ist, wie kann ich zeigen den Fehler, dass die Serverrückgabe.
Ich habe das schon gemacht, aber immer noch nicht funktioniert handleError (Fehler: beliebig) { lassen errMsg = (error.message)? error.message: error.status? '$ {error.status} - $ {error.statusText}': 'Serverfehler'; console.error (errMsg); // log statt zur Konsole return Observable.throw (errMsg); } –
Hier haben Sie ein anderes Beispiel im Grunde genommen das gleiche, überprüfen Sie getCountriesByRegion(), wenn es nicht angezeigt wird, könnte es wegen etwas anderes sein? http://www.waynehong.com/javascript/angular-2-service-example-typescript/ –