我们假设我通过电子邮件向某人发送了一个指向我网站部分的链接,该部分要求用户登录。例如:
https://www.web.com/serverroute/angularapp#/clientrouteone
当未登录的用户点击链接时,客户端站点只知道" web.com/serverroute /"并重定向到登录表单。
现在成功登录如果我想重定向到原始的完整网址,请如何解决?
答案 0 :(得分:1)
您的登录过程必须处理它。在您的过滤器链中的某个位置,您将用户重定向到登录页面,您需要保留完整的网址,以便它看起来像" https://my.cool.site/login#original/url"。然后,在登录表单上,您将其选为$ location.path()并相应地重定向。
答案 1 :(得分:1)
将之前的网址保存到$ rootScope并在登录后重定向
或者更好地使用主要的app.config'
中的拦截器$httpProvider.interceptors.push(['$q', '$location', '$rootScope', '$window', function ($q, $location, $rootScope, $window) {
return {
'request': function () {
'do your magic'
var magic = $window.history.back(); //just an example dont think this will work for you
return magic;
}
}
}]):