У меня есть функция генератора токенов, я должен передать параметр токена в каждом HTTP-вызове, поэтому даже при обновлении мне нужно сохранить значение токена в целости и использовать его. Вот мой code-
$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 в любом месте контроллера с сохраненным значением.
на странице перезагрузите приложение будет инициализировано, так что у вас ничего не будет в вашем корневом каталоге $. Вместо этого вы можете хранить токен доступа или сеанс, localstorage и т.д.
Это должно сработать. Можете ли вы предоставить plunkr для своего кода.
Еще одна вещь: какой тип - ваш access_token
? Полагаю, вы знаете, вам нужно скомпоновать объекты JSON перед сохранением в localStorage и проанализировать его, когда вы вернете его.
Кроме того, я думаю, вы должны использовать sessionStorage, а не localStorage.
$rootScope
для передачи значения и использовать$localStorage
а не только