Javascript 在本地存储中存储$rootScope值并在页面刷新时在另一个控制器中使用它

Javascript 在本地存储中存储$rootScope值并在页面刷新时在另一个控制器中使用它,javascript,angularjs,Javascript,Angularjs,我有一个令牌生成器功能, 我必须在每个http调用中传递令牌参数,所以即使在刷新时,我也需要完整地存储令牌值并使用它。 这是我的密码- $scope.accessTokenFunction=function() { data={ } $http.post('API_url',data, config) .success(function(data, status) { $scope.PostDataRespo

我有一个令牌生成器功能, 我必须在每个http调用中传递令牌参数,所以即使在刷新时,我也需要完整地存储令牌值并使用它。 这是我的密码-

 $scope.accessTokenFunction=function() { 
      data={

      }
         $http.post('API_url',data, config)
         .success(function(data, status) {

          $scope.PostDataResponse = data;
          $rootScope.access_token=$scope.PostDataResponse.access_token;
          console.log($rootScope.access_token);
           var access_token = $rootScope.access_token
                localStorage.setItem("access_token", access_token);
                localStorage.getItem("access_token");
                console.log(access_token);
                $rootScope.acc=access_token;


    })

 };
问题是var-access\u令牌无法在页面刷新时存储$rootscope.access\u令牌,但如果使用

var access_token = 'jack'
I can use this value successfully even on page refresh inside other controllers.
我想要的是$rootScope值被分配给access_令牌,即使在页面刷新时也是如此。 谢谢你的帮助

编辑

我做了这样的改变 var access\u token=$scope.access\u token

                localStorage.data=access_token;
                console.log(localStorage.data);
并在另一个控制器中使用此本地存储

myApp.controller().....
{
    $scope.access_token=localstorage.data;

}

我现在可以在控制器中的任何位置使用这个$scope.access_令牌和存储值。

在“重新加载”页面上,您的应用程序将被初始化,所以您的$rootscope中将没有任何内容。相反,您可以将访问令牌存储到或会话、本地存储等中。

在页面重新加载时,您的应用程序将被初始化,因此您的$rootscope中将没有任何内容。相反,您可以将访问令牌存储到或会话、本地存储等中。

这应该可以工作。你能为你的代码提供一个plunkr吗

还有一件事,您的
访问\u令牌是什么类型的?
我想,你知道,在保存到localStorage之前需要对JSON对象进行字符串化,并在将其拉回来时对其进行解析


另外,我想,您应该使用会话存储,而不是本地存储。

这应该可以。你能为你的代码提供一个plunkr吗

还有一件事,您的
访问\u令牌是什么类型的?
我想,你知道,在保存到localStorage之前需要对JSON对象进行字符串化,并在将其拉回来时对其进行解析


另外,我想,您应该使用sessionStorage,而不是localStorage。

更好的做法是放弃传递值的
$rootScope
,而使用
$localStorage
而不是onlybetter放弃传递值的
$rootScope
,使用
$localStorage
而不是仅在localStorage中存储$rootScope?我成功地存储了字符串“jack”,但无法将$rootScope存储在localstorage.localstorage.setItem('rootScope',JSON.stringify($rootScope));我们需要将对象字符串化。但是我们必须确保每次更新rootscope时都必须更新localstorages,但是当我刷新页面时,$rootscope值仍然是未定义的。代码运行良好,直到我不刷新页面。您是从localstorage还是$rootScope读取值?如果是rootScope,它将是未定义的。您必须从localStorage嘿,谢谢,我在控制器localStorage中定义了$scope.access\u token=localStorage.data…然后我就可以使用它了。如何在localStorage中存储$rootscope?我成功地存储了字符串“jack”,但无法将$rootScope存储在localstorage.localstorage.setItem('rootScope',JSON.stringify($rootScope));我们需要将对象字符串化。但是我们必须确保每次更新rootscope时都必须更新localstorages,但是当我刷新页面时,$rootscope值仍然是未定义的。代码运行良好,直到我不刷新页面。您是从localstorage还是$rootScope读取值?如果是rootScope,它将是未定义的。您必须从localStorage嘿,谢谢,我在控制器localStorage中定义了$scope.access\u token=localStorage.data…这样我就可以使用它了。