2016-11-23 60 views
1

我使用$http從服務器檢索數據。萬一發生錯誤,全部statusCode = -1。我無法得到正確的errorCode在客戶端處理。我沒有更新服務器代碼的權限。

$http(options).then(function (response) { 
        if (response.status === 200) { 
         resolve(response.data); 
        } else { 
         exceptionHandler(response); 
        } 
       }, function (error) { 
        exceptionHandler(error); 
       }); 

console.log被放在exceptionHandler函數上。

請幫助我得到正確的錯誤代碼。非常感謝。

Error 404

Error 403

Error 500

回答

2

在你表現出的響應,404錯誤是可以作爲error.status,而是由你的瀏覽器時,它執行預檢OPTIONS其他兩個反應是拒絕訪問請求。

在這種情況下,瀏覽器返回狀態-1以指示請求已中止。您的請求沒有HTTP狀態碼,因爲它從未發送過。控制檯日誌中顯示的狀態500不適用於任何JavaScript代碼。

您應該處理狀態-1作爲表示沒有收到服務器的響應,或者是因爲它從未發送(本例),或者是因爲它已發送但超時。

相關問題