sam*_*207 20 page-refresh angularjs
我正试图找出一种方法来保持我的angular
变量与页面刷新/跨控制器.我的工作流程是,
我尝试了两种方法,
1 - 将令牌分配给rootScope
不工作
2 - 使用a factory
#app.js
'use strict';
angular.module('recipeapp', [])
.run(['$rootScope', '$injector', 'Authenticate', function($rootScope,$injector, Authenticate){
$injector.get("$http").defaults.transformRequest = function(data, headersGetter) {
$injector.get('$http').defaults.headers.common['auth-token'] = Authenticate.getToken();
}
}]);
#factory
'use strict';
angular.module('recipeapp')
.factory('Authenticate', function(){
var factory = {};
var accessToken = "";
factory.setToken = function(token) {
accessToken = token;
}
factory.getToken = function() {
return accessToken;
}
return factory;
})
#facebook controller
I set the the token with every successful login
Authenticate.setToken(data.app_token);
Run Code Online (Sandbox Code Playgroud)
但问题是,如果我刷新页面,则Authenticate.getToken()
变为空白.我很新,angular
并且在页面刷新后无法找到保留数据的方法
任何帮助将非常感激
aac*_*kin 19
你可以用localStorage
.它真的很容易使用.
var token = "xxx";
localStorage.setItem("token", token);
localStorage.getItem("token"); //returns "xxx"
Run Code Online (Sandbox Code Playgroud)
小智 5
我使用 $window.localStorage 做了同样的事情。
这有点类似于接受的答案。
var token = "xxx";
$window.localStorage.setItem("token",token);
$window.localStorage.getItem("token"); //returns "xxx"
$window.localStorage.removeItem("token"); //deletes token
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
48257 次 |
最近记录: |