Перехватчик angularjs и responseError возвращают неправильный HTTP-код ответа - PullRequest
0 голосов
/ 06 июня 2019

Я использую angularjs 1.5.0 и angular-jwt 0.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:

enter image description here

Как это выглядит на вкладке сети:

enter image description here

Что я делаю не так, почему я не вижу код 401?

1 Ответ

0 голосов
/ 06 июня 2019

Убедитесь, что после того, как вы определили фабрику перехватчиков, вы зарегистрировали ее в $ httpProvider на этапе конфигурации, вставив его в массив перехватчиков.

Пример использования перехватчика:

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

Вот статья для дальнейших исследований

Документы по данной версии angularjs

...