如何控制拦截器的响应
问题描述:
在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();
}
如果我发个帖子/ API /方法/ 108,我得到一个错误。我能从错误信息中得到108吗?或者我必须自己保存它? –
是的,您可以通过'reject.config.data'获取请求数据并请求url'reject.config.url' – aseferov