2 回答

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
我的疏忽。
如果您查看返回的 JSON
....
"message":"Http failure response for https://localhost:44305/api/Entry/GetNext?id=11962: 500 OK",
"error":{
}
}
error似乎是一個(gè)空對(duì)象
代替事實(shí)上error是Blob,我們應(yīng)該以下面的方式閱讀
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
return next
.handle(req)
.catch(this.handleError)
}
public handleError = (error: Response) => {
let reader = new FileReader();
let ngNotify = this._ngNotify;
reader.onload = function () {
var result = JSON.parse(this.result);
ngNotify.nofity('Error', result.error);
};
reader.readAsText(error['error']);
return Observable.throw(error)
}
就是這樣。

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊
我最終通過實(shí)現(xiàn)中間件來攔截HttpResponse
、從 blob 中提取錯(cuò)誤并在 json 中返回消息來解決這個(gè)問題。感謝JaapMosselman 的貢獻(xiàn)。
- 2 回答
- 0 關(guān)注
- 567 瀏覽
添加回答
舉報(bào)