2 回答
TA贡献2036条经验 获得超8个赞
我的疏忽。
如果您查看返回的 JSON
....
"message":"Http failure response for https://localhost:44305/api/Entry/GetNext?id=11962: 500 OK",
"error":{
}
}
error似乎是一个空对象
代替事实上error是Blob,我们应该以下面的方式阅读
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贡献1842条经验 获得超21个赞
我最终通过实现中间件来拦截HttpResponse
、从 blob 中提取错误并在 json 中返回消息来解决这个问题。感谢JaapMosselman 的贡献。
- 2 回答
- 0 关注
- 532 浏览
添加回答
举报