페이지 새로 고침 후 각도 변수 유지
저는 제 것을 유지할 방법을 찾고 있습니다.angular
페이지 새로 고침/컨트롤러 간의 변수.저의 작업 흐름은,
- 사용자는 페이스북을 통해 로그인하고 액세스 토큰을 얻습니다.
- 사용자 액세스 토큰은 모든 요청과 함께 사용됩니다.
두가지 방법을 시도했지만,
1 - 토큰을 a에 할당하기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
페이지를 새로 고친 후에 데이터를 보존하는 방법을 찾을 수 없습니다.
어떤 도움이라도 주시면 대단히 감사하겠습니다.
사용가능localStorage
. 그것은 정말 사용하기 쉽습니다.
var token = "xxx";
localStorage.setItem("token", token);
localStorage.getItem("token"); //returns "xxx"
페이지를 새로 고치면 변수에 저장된 모든 데이터를 포함하여 모든 JavaScript 컨텍스트가 손실됩니다.
한 세션에서 다른 세션으로 정보를 유지하는 한 가지 방법은 브라우저의 localStorage를 사용하는 것입니다.이 경우 스토리지를 확인해야 할 것입니다.
저도 마찬가지로 $window.localStorage를 사용했습니다.
그것은 수용된 답변과 약간 비슷합니다.
var token = "xxx";
$window.localStorage.setItem("token",token);
$window.localStorage.getItem("token"); //returns "xxx"
$window.localStorage.removeItem("token"); //deletes token
당신은 쿠키를 사용할수있습니다.
단순 변수를 넣는 방법
$cookies.put('user', 'abc');
개체 저장하기
$cookies.putObject('objSocket', anyObject);
쿠키에서 데이터를 가져오려면 사용합니다.
$cookies.getObject('objSocket');
그리고.
$cookies.get('user');
위의 code cookies.js cdnjs를 사용하려면:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0-rc.0/angular-cookies.min.js"></script>
이제 주입합니다.$cookies
당신의 컨트롤러에 그리고.ngCookies
app.js로 이동합니다.
자세한 내용은 https://docs.angularjs.org/api/ngCookies 에서 확인하실 수 있습니다.
use `localStorage.setItem("key",value);` to set the value.
use `localStorage.getItem("key");`to get the value.
use `localStorage.clear();`to clear the value which is set
언급URL : https://stackoverflow.com/questions/26118851/retain-angular-variables-after-page-refresh
'programing' 카테고리의 다른 글
CSS 변환 사용 후 흐린 텍스트: scale(); Chrome에서 (0) | 2023.10.21 |
---|---|
두가지 다른 색상의 텍스트가 있는 UI 라벨 (0) | 2023.10.21 |
GCC는 가변 길이 배열을 어떻게 구현합니까? (0) | 2023.10.21 |
ng-href에서 각도js 함수 (0) | 2023.10.21 |
파이어폭스 '크로스 오리진 요청 차단' 헤더에도 불구하고 (0) | 2023.10.21 |