服务器请求:hash#之后的angular route / url?

时间:2015-09-28 15:43:15

标签: javascript ajax angularjs http https

我们假设我通过电子邮件向某人发送了一个指向我网站部分的链接,该部分要求用户登录。例如:

https://www.web.com/serverroute/angularapp#/clientrouteone

当未登录的用户点击链接时,客户端站点只知道" web.com/serverroute /"并重定向到登录表单。

现在成功登录如果我想重定向到原始的完整网址,请如何解决?

2 个答案:

答案 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;
                                } 
                            }
                        }]):