Javascript 角度服务无法执行功能
每次页面刷新时都会加载此Javascript 角度服务无法执行功能,javascript,angularjs,Javascript,Angularjs,每次页面刷新时都会加载此loadCredentials(),我会检查它是否在我的angular.run上经过身份验证 function loadUserCredentials() { var token = new Object(); token.token = window.localStorage.getItem(LOCAL_TOKEN_KEY); $http.post("http://localhost:8080/checkTokenValid",token).th
loadCredentials()
,我会检查它是否在我的angular.run上经过身份验证
function loadUserCredentials() {
var token = new Object();
token.token = window.localStorage.getItem(LOCAL_TOKEN_KEY);
$http.post("http://localhost:8080/checkTokenValid",token).then(function(result){
console.log(result.data.success);
if(result.data.success){
useCredentials();
}
});
};
我想这是在loadCredentials
完成之前运行的,所以我总是会得到登录页面。有什么方法可以延迟角度。运行?这样我就可以让我的loadCredentials
检查用户是否拥有有效的令牌 是的,您可以通过$timeout执行此操作:
controlApp.run(function ($location, $rootScope,controlProvider){
$rootScope.$on('$routeChangeStart',function(event,next,nextParems){
if (!controlProvider.isAuthenticated()){
$location.path('/login');
}
})
});
controlApp.run(function ($location, $rootScope, controlProvider, $timeout) {
$rootScope.$on('$routeChangeStart', function (event, next, nextParems) {
$timeout(function () {
if (!controlProvider.isAuthenticated()) {
$location.path('/login');
}
}, 500);
})
});