0

我使用 angularjs 1.5.0 和 angular-jwt 0.1.11。

当后端返回 401 Unauthorized 并将用户重定向到登录页面时,我尝试使用拦截器来捕获情况。

我的拦截器看起来像这样:

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 代码?

4

1 回答 1

0

确保在定义拦截器工厂后,在配置阶段通过将其推送到拦截器数组中向 $httpProvider 注册它。

使用拦截器的示例:

app.config(["$httpProvider", $httpProvider => {
    $httpProvider.interceptors.push("test_interceptor");
}]);

这是进一步研究的相关文章

您的 angularjs 版本的相关文档

于 2019-06-06T16:48:06.663 回答