2016-05-17 152 views
0

在Angularjs中使用攔截器,我有一個問題。我需要控制狀態403,但在我的應用程序中,當API返回403時,該應用程序會註銷。該API將在特殊情況下返回403。我不希望攔截器進行註銷,並且我不知道何時可以找到API返回的某個屬性。如何控制攔截器的響應

responseError: function(rejection) { 

    if (rejection.status === 0) { 
     //some stuff 
    } 
    else if (rejection.status === 401 || rejection.status === 403){ 
     $injector.get("Service").logout(); 
    } 

我可以得到API在拒絕對象中返回的屬性嗎?

回答

1

如果您在控制檯看rejection對象,你會看到它返回的數據屬性,它是API響應

responseError: function(rejection) { 

    console.log(rejection.data) //API response data 

    if (rejection.status === 0) { 
     //some stuff 
    } 
    else if (rejection.status === 401 || rejection.status === 403){ 
     $injector.get("Service").logout(); 
    } 
+0

如果我發個帖子/ API /方法/ 108,我得到一個錯誤。我能從錯誤信息中得到108嗎?或者我必須自己保存它? –

+1

是的,您可以通過'reject.config.data'獲取請求數據並請求url'reject.config.url' – aseferov