在我的angularjs应用程序中,我正在检查用户在登陆页面上是否已经通过身份验证,然后将其重定向到主页。
.state('landingpage', {
abstract: "true",
url: "/landingpage",
templateUrl: "app/landingpage/landingpage.html",
resolve: {
AutoLoginCheck: ['$state', '$window', function ($state, $window) {
if($window.localStorage.access_token != null)
{
if($window.sessionStorage.access_token == null) {
$window.sessionStorage.access_token = $window.localStorage.access_token;
}
UserInfoService.SetUserAuthenticated(true);
// it is not redirecting
return $state.go('app.home');
}
}]
}
})问题是,尽管所有的解决方案代码都已成功运行,但用户并没有被重定向到app.home。有人能说出为什么会这样吗?
Note:状态'app‘也有一个解析,在这个解析中,它获取要以'app.home’状态显示的数据。
发布于 2015-03-16 15:53:14
可以有两种方法来解决你的问题
发布于 2015-06-02 09:40:50
.state('landingpage', {
abstract: "true",
url: "/landingpage",
templateUrl: "app/landingpage/landingpage.html",
resolve: {
AutoLoginCheck: ['$state','$window', '$q','$timeout', function ($state, $window,$q,$timeout) {
if($window.localStorage.access_token != null)
{
if($window.sessionStorage.access_token == null) {
$window.sessionStorage.access_token = $window.localStorage.access_token;
}
UserInfoService.SetUserAuthenticated(true);
$timeout(function() {
$state.go('app.home')
},0);
return $q.reject()
}
}]
}
})这会对你有用的。
发布于 2015-10-28 12:46:17
您可以使用$location.url('/')代替。
https://stackoverflow.com/questions/29080128
复制相似问题