【问题标题】:How do I get a full error response with Angular 4?如何使用 Angular 4 获得完整的错误响应?
【发布时间】:2017-09-22 22:23:46
【问题描述】:

我正在使用 Angular HttpClient 发出 http 请求。

http.get(`${hostUrl}/myproject/infrastructure-status`)
.subscribe(
(resp) => {
  // handle response
},
(error) => {
 console.log(error)
});

在我的控制台中,记录了 HttpErrorResponse 类型的错误:

但是,我的网络选项卡上的后端响应不一样:

我可以在 Angular 中获得完整的错误响应吗?如果有,怎么做?

【问题讨论】:

    标签: angular


    【解决方案1】:

    你得到的错误也是一个响应对象,所以如果你将它转换为响应,你可以读取正文。 对我来说这是可行的:

    http.get(`${hostUrl}/myproject/infrastructure-status`)
               .subscribe(
               (resp) => {
                  // handle response
               },
               (error) => {
                  if (error instanceof Response) {
                     console.log(error.text());
                  }
               });
    

    我觉得奇怪的是你得到了一个 ProgressEventObject。我总是得到一个包含正文的 Response 对象。也许不同之处在于您的情况下的响应是 HTML,我通过调用返回 JSON 的 WebApi 进行测试。

    【讨论】:

    • ProgressEvent 可以通过标志获得。
    猜你喜欢
    • 2020-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 2018-03-15
    相关资源
    最近更新 更多