angular
ページの更新やコントローラ間で変数を保持する方法を見つけようとしています。私のワークフローは、
- ユーザーはFacebook経由でログインし、アクセストークンを取得します
- ユーザーのアクセストークンはすべてのリクエストで使用されます
私は2つの方法を試しました。
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
、ページを更新してもデータを保持する方法がわかりません。
ご協力いただければ幸いです
ベストアンサー1
使えますlocalStorage
。本当に使いやすいです。
var token = "xxx";
localStorage.setItem("token", token);
localStorage.getItem("token"); //returns "xxx"