У меня есть приложение, для которого я создал перехватчик для обработки выходов токенов после 15-минутной бездействия, он успешно перенаправляется на страницу входа после того, как токен истек, но Im не способен показать ошибку после перенаправления на страницу входа.angularjs http interceptor, чтобы показать ошибку на пути к загруженному пути
Мой вопрос: как я могу показать пользователю ошибку с истекшим сроком действия на странице входа, после того как перехватчик перенаправил приложение на эту страницу.
Heres мой редиректор:
app
.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push(function($q, $location, LoopBackAuth) {
return {
responseError: function(rejection) {
if (rejection.status == 401) {
//Now clearing the loopback values from client browser for safe logout...
LoopBackAuth.clearUser();
LoopBackAuth.clearStorage();
$location.path("/login");
}
return $q.reject(rejection);
}
};
})
}])
.config(function(LoopBackResourceProvider) {
LoopBackResourceProvider.setAuthHeader('X-Access-Token');
})
Является ли частью пути '/ login' основного приложения? Имеет ли он тот же index.html? Если это так, вы можете сделать переход на другую страницу с «$ StateParams.error =« токеном истек »и затем показать его выше формы входа в всплывающее окно. Вы также можете сделать ошибку параметром url: '/ login? Error = TokenExpired'. – forrestmid
@forrestmid моя другая проблема - это отсутствие знаний о angularjs ... Я попытался отправить ошибку в качестве параметра url, и я задал область действия в контроллере входа в систему, но я не могу отразить эту ошибку в шаблоне при выполнении location.path ('login'). search (params), но только при перезагрузке страницы login? error = xxxx, как если бы location.path не создал запрос на получение этой страницы. – maumercado
также не знаю, как перейти и добавить $ stateParams, попробовал его, но продолжал сталкиваться с переходом метода can not call undefined ... так как scope не является var в перехватчике ... снова мое отсутствие знания angularjs здесь может быть единственным Причина – maumercado