如何控制拦截器的响应

问题描述:

在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在拒绝对象中返回的属性吗?

如果您在控制台看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