2016-11-03 59 views
0

我的組件模板url指向生成響應html的服務器,並且當出現錯誤時它可能會返回不同的http錯誤狀態代碼(401,403等)。 如果加載路由時發生錯誤,我想獲取錯誤狀態。 使用router.events.subscribe並檢查NavigationError不會僅提供一些文本的http錯誤狀態 - 「無法加載url/to/my/template」。 任何想法如何獲得響應http狀態碼?如何獲取角度2路由器錯誤http狀態代碼

回答

0

該函數發出的HTTP請求以URL作爲參數。

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); 
    } 
); 

}

我認爲這將解決你的問題,如果你上後下的任何錯誤評論。

謝謝。