【问题标题】:Server request: angular route/url after hash#?服务器请求:hash# 之后的角度路由/url?
【发布时间】:2015-12-25 22:12:01
【问题描述】:

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

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

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

现在成功登录后,如果我想重定向到请求的原始完整 url,如何绕过它?

【问题讨论】:

    标签: javascript ajax angularjs http https


    【解决方案1】:

    将之前的 url 保存到 $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;
                                    } 
                                }
                            }]):
    

    【讨论】:

      【解决方案2】:

      您的登录过程必须处理它。在过滤器链中的某个位置,您将用户重定向到登录页面,您需要保留完整的 url,使其看起来像“https://my.cool.site/login#original/url”。然后,在登录表单中选择 $location.path() 并相应地重定向。

      【讨论】:

        猜你喜欢
        • 2018-10-12
        • 2019-01-10
        • 1970-01-01
        • 1970-01-01
        • 2014-12-18
        • 2020-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多