我使用angularjs 1.5.0和angular-JWT0.1.11。
我尝试在后端返回401未授权的情况下使用拦截器,并将用户重定向到登录页面。
我的拦截器看起来像这样:
import angular from 'angular';
export default angular
.module('app.factories', [])
.factory('test_interceptor', function ($q) {
"ngInject";
return {
'responseError': function(rejection) {
// do something on success
let status = rejection.status;
console.log('test_interceptor responseError');
console.log(rejection);
console.log(rejection.status);
return rejection;
},
};
});
但当我从本地存储中删除令牌并尝试发出请求时,我从后端收到错误401,但拒绝状态为-1:
它在网络选项卡中的外观:
我做错了什么,为什么我看不到401代码?
发布于 2019-06-07 00:48:07
确保在定义拦截器工厂之后,通过将其推入拦截器数组,在配置阶段将其注册到$httpProvider。
使用拦截器的示例:
app.config(["$httpProvider", $httpProvider => {
$httpProvider.interceptors.push("test_interceptor");
}]);
Here is a related article for further research
https://stackoverflow.com/questions/56479847
复制相似问题