angular项目,之前项目正常,未修改路由,现在点击跳转,直接回到登录页面。
请问有没有大神遇到过类似的情况或者知道怎么解决的,谢谢。
angular项目,之前项目正常,未修改路由,现在点击跳转,直接回到登录页面。
请问有没有大神遇到过类似的情况或者知道怎么解决的,谢谢。
你的问题不够明确啊,我理解是这种情况,你点击跳转到登录页,正常如果说用户登录的话,你这边是不会跳转到登录页的。所以说这时候需要增加一个拦截器,让你的项目每次发送请求的时候进行判断,判断内容就是你所储存的用户登录,后台给你返回的token,根据token内容来决定页面是否跳转。希望可以帮助你,我暂时只能用session存储数据
angular.module('app').config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push(HttpInterceptor);
}]);
angular.module('app').factory('HttpInterceptor','$state', ['$q', HttpInterceptor]);
function HttpInterceptor($q) {
return {
// 请求发出之前,可以用于添加各种身份验证信息
request: function(config) {
var loginData = JSON.parse(sessionStorage.getItem('loginData'));
if(loginData) {
console.log(loginData)
if(loginData.login == true) {
}
}else{
window.location.href="index.html#/access/signin"
}
return config;
},
// 请求发出时出错
requestError: function(err) {
return $q.reject(err);
},
// 成功返回了响应
response: function(res) {
return res;
},
// 返回的响应出错,包括后端返回响应时,设置了非 200 的 http 状态码
responseError: function(err) {
return $q.reject(err);
}
};
}
上面的大佬讲的都很对!首先,你要看你的路由是不是写错了,导致没有匹配到,从而重定向到首页了?还是被路由守卫拦截了,做了处理跳转到首页?
我建议在问问题的时候尽量的可以展示下你的那块代码,让大家能更明了你的问题所在。
复现下此场景,是点击任一链接都会跳转到登录界面还是点击某一链接才跳转到,前者的话,查看下设置的相对路径是否有问题。后者的话,看下此路径的地址与点击的链接是否匹配。