У меня есть фабрика и ее функция - обрабатывать коды статуса перенаправления. Если он видит, что код состояния равен 302, он перенаправляет страницу на страницу входа.Ошибка: обещание не определено
app.factory('redirectInterceptor', function($q,$location){
return {
responseError : function(response){
return promise.then(
function success(response) {
if(response.status === 302){
alert("success " +response.status);
$location.path('/login.html');
return response;
}
else{
alert("success " +response.status);
return response;
}
},
function error(response) {
if(response.status === 302){
alert("error " +response.status);
$location.path('/public/login.html');
return $q.reject(response);
}
else{
alert("error " +response.status);
return $q.reject(response);
}
}
);
}
}
});
app.config(['$httpProvider',function($httpProvider) {
$httpProvider.interceptors.push('redirectInterceptor');
}]);
Но я получаю ошибку после того, как сервер возвращает 302. здесь
Error: promise is not defined
Что я сделал не так?
Обещание на линии 4 кода никогда не был определен. – pixelbits
@pixelbits смысл? Я должен добавить этот var defer = $ q.defer(); ? затем сделайте это отсрочкой. Я искал статьи, которые могут мне помочь, и я нашел это https://thinkster.io/egghead/promises – user3714598
Я не думаю, что 302 - это код состояния ошибки. Ошибки 4xx и 5xx – Chandermani