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