我有一个angularjs / laravel Web应用程序,其中模板包含动态加载。
问题在于,当用户的会话超时并且他们导航到页面上的新部分时,它将在服务器端进行重定向,并实际返回模板本应存在的登录页面。
如何拦截此模板请求,而是将用户重定向到登录页面,而不是简单地将登录页面作为模板返回?
答案 0 :(得分:0)
在一个项目中,我们使用这种拦截http错误的方式。在那里你可以重定向到登录页面(或任何你喜欢的)。
function httpInterceptor($provide, $httpProvider) {
function interceptorFunction($q) {
return {
responseError: function (rejection) {
if (typeof rejection.status !== 'undefined') {
if (rejection.status === 401) {
//Your app will handle 401 errors here...
}
}
return $q.reject(rejection);
}
};
}
$provide.factory('httpInterceptor', interceptorFunction);
interceptorFunction.$injector = ['$q'];
$httpProvider.interceptors.push('httpInterceptor');
angular.module('app', dependencies)
.config(httpInterceptor);
'应用'模块是我们的主要'模块。 401错误应该发生,因此服务器应该至少一次响应该状态代码。