我可以知道如何在登录后将用户重定向到原来的位置吗?说我有一个帖子wwww.example.com/post/435
,它要求用户登录才能“喜欢/评论”这个帖子,所以在用户登录后如何将用户重定向回帖子?我试过这个
$http.post('/sessionHandler/login',$scope.form).
success(function(data){
history.back(); // bring user back to previous path
}).error(function(err){
$scope.errorMessage = err;
});
但是,如果用户以前的路径是其他站点或浏览器新选项卡,则它不会真正有效,它会将用户重定向回原来的位置。
我也发现了一些使用$locationChangeStart
的例子,但是我很难理解它是如何工作的这就是我到目前为止$locationChangeStart
$http.post('/sessionHandler/login',$scope.form).
success(function(data){
$rootScope.$on("$locationChangeStart", function (event, next, current) {
$location.path();// how to access to previous url where the user from ?
// how to use event, next and current to get the user last
// path on my site, and how to determine the last site is
// on my site but not other website ?
});
})
感谢您的帮助!!
答案 0 :(得分:1)
可能不是最佳答案,但我为此使用了一个cookie - 所以每当我重定向到新位置时,我都会使用$cookies.loginDestination = $location.path()
,然后每当用户登录时,我会使用类似的东西:
var loginDestination = $cookies.loginDestination || '/';
$cookies.loginDestination = null;
$location.path(loginDestination);