Я создал простой перехватчик для перенаправления пользователя на страницу входа, так как сервер возвращает ошибку 401. Он не работает, хотя, поскольку статус устанавливается как 404, поэтому $ location никогда не вызывается.AngularJs httpprovider.interceptors responseError имеет неправильный статус
.config(function myAppConfig($stateProvider, $urlRouterProvider, $httpProvider) {
$urlRouterProvider.otherwise('/login/authorize');
$httpProvider.interceptors.push(['$location', function($location) {
return {
responseError: function(rejection) {
console.log(rejection);
switch (rejection.status) {
case 401:
$location.path('/login/refresh');
}
}
};
}]);
})
Вы решили это? В моем случае переменная отклонения не заполняется вообще. Мой объект отклонения выглядит следующим образом: {data: "", status: 0, headers: function, config: Object, statusText: ""} – zszep
Нет, мне пришлось отложить эту проблему в сторону, поскольку я ничего не смог с ней поделать, необходимо переходить к другим проблемам. Когда я вернусь к нему и опубликую любое решение, которое я найду здесь. – mike
:-) Я тоже. Объект ошибки не был заполнен, когда я отправил 401 из моего модуля nancyfx, поэтому в своем угловом коде я предположил, что код состояния 0 равен 401. – zszep