簡體   English   中英

將$ rootScope值存儲在localstorage中,並在頁面刷新時在另一個控制器中使用它

[英]To store $rootScope value inside localstorage and using it in another controller on page refresh

我有一個令牌生成器函數,我必須在每個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_token無法在頁面刷新上存儲$ rootscope.access_token,但是如果我使用

var access_token = 'jack'
I can use this value successfully even on page refresh inside other controllers.

我想要的是即使在頁面刷新時也將$ rootScope值分配給access_token。 任何幫助表示贊賞,謝謝

編輯

我做了這樣的更改var access_token = $ scope.access_token

                localStorage.data=access_token;
                console.log(localStorage.data);

並在這樣的另一個控制器中使用了localStorage

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

}

現在,我可以在控制器中隨處使用此$ scope.access_token和存儲的值。

在頁面重新加載時,您的應用將被初始化,因此您的$ rootscope中將沒有任何內容。 相反,您可以將訪問令牌存儲到或會話,本地存儲等中。

這應該工作。 您能為您的代碼提供代碼嗎?

還有一件事,您的access_token是什么類型? 我想,您知道,在保存到localStorage之前需要對JSON對象進行字符串化,並在將其拉回時進行解析。

另外,我猜您應該使用sessionStorage,而不是localStorage。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM