Я хотел бы реализовать проверку подлинности на одном веб-приложении с помощью Angular.js. official Angular documentation рекомендует использование перехватчиков:Capture HTTP 401 с перехватчиком Angular.js
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
return {
// ...
'responseError': function(rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
}
};
});
Проблема заключается в том, когда сервер посылает 401 сообщение об ошибке, браузер сразу останавливается с «Несанкционированное» сообщение, или всплывающее окно входа в систему (если заголовок аутентификации HTTP отправляется по сервер), но Angular не может захватить с помощью своего перехватчика ошибку HTTP для обработки, как рекомендовано. Я что-то не понимаю? Я попробовал больше примеров на веб-страницах (this, this и this), но никто из них не работал.
ли вы когда-нибудь это выяснили? У меня точно такая же проблема –
Bump, здесь же! – Romain
То же самое, ни один из ответов не работает, перехватчик действительно работает, но исключение все еще бросает перед перехватчиком. Это странно? – windmaomao