我有一个令牌生成器函数,我必须在每个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。
发布于 2016-07-31 14:00:35
在页面重新加载时,您的应用程序将被初始化,因此您的$rootscope中将没有任何内容。相反,您可以将访问令牌存储到或会话、本地存储等中。
发布于 2016-07-31 14:13:00
这应该是可行的。你能为你的代码提供一条路径吗?
还有一件事,你的access_token是什么类型的?我想,你知道,你需要在保存到localStorage之前把JSON对象串起来,然后在拉回它的时候解析它。
另外,我想,你应该使用sessionStorage,而不是localStorage。
https://stackoverflow.com/questions/38681119
复制相似问题