【发布时间】:2014-09-30 10:47:14
【问题描述】:
我正试图找出一种方法来保持我的 angular 变量与页面刷新/跨控制器。我的工作流程是,
- 用户通过 facebook 登录并获得访问令牌
- 每个请求都将使用用户访问令牌
我尝试了两种方法,
1 - 将令牌分配给 rootScope
不工作
2 - 使用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);
但问题是,如果我刷新页面,Authenticate.getToken() 将变为空白。我对angular 还很陌生,无法找到在页面刷新后保留数据的方法
任何帮助将不胜感激
【问题讨论】: