0

我的组件模板 url 指向生成响应 html 的服务器,当出现问题时,它可能会返回不同的 http 错误状态代码(401、403 等)。如果在加载路线时发生错误,我想获得错误状态。使用 router.events.subscribe 并检查 NavigationError 不会仅提供一些文本的 http 错误状态 - “无法加载 url/to/my/template”。知道如何获取响应 http 状态码吗?

4

1 回答 1

0

此函数以 URL 作为参数发出 HTTP 请求。

get_http_response(url) {
this._http.get(url)      /*this make http request to server*/
.map((response: Response) => {
  response.json();
  this.responseStatus = response.status; /* local variable to restore status code. */
}) /*this get response back and map it*/
// ...errors if any
.catch((error: any) => Observable.throw(error.json().error || 'Server error')
)
.subscribe(
  resdata => {
    this.getdata = resdata; /*local variable to store data. */
    console.log("fetched data =>" +this.getdata);
    console.log("status code =>" + this.responseStatus);
  }
);

}

如果您在下面的帖子中收到任何错误评论,我认为它将解决您的问题。

谢谢你。

于 2017-08-18T05:53:33.887 回答