angularJs中的$ rootScope行为

时间:2016-05-24 14:17:33

标签: angularjs

我在$ rootScope中存储身份验证令牌。此令牌将通过拦截器在每个请求中作为标头的一部分发送。

<code>
 $rootScope.jwtToken=successfulResponse.data.body;
</code>

拦截器代码如下: -

var bpInterceptor = function($q,$rootScope){
return {
    request : function(config){

        if($rootScope.jwtToken !== undefined){
            config.headers.Authorization = $rootScope.jwtToken.token;  
        }
        return config;
    }
}
};
</code>

问)$ rootScope是否有两个浏览器会话的不同对象?

1 个答案:

答案 0 :(得分:1)

Angular代码仅在客户端执行,因此一旦重新加载页面,任何状态都将消失。

如果您想在两个用户会话之间保留信息,您有很多选择:

  • 使用$locationlocation
  • 在网址中保留该信息
  • 将该信息存储在localStorage中并在下次检索
  • 坚持信息服务器端并查询服务器以将其恢复

<强>后续

获得令牌后,即可:

localStorage.setItem('myToken', $rootScope.jwtToken);

当您加载应用程序时,请检查是否已存储令牌:

$rootScope.jwtToken = localStorage.getItem('myToken');