Чтобы сохранить значение $ rootScope внутри localstorage и использовать его в другом контроллере при обновлении страницы

0

У меня есть функция генератора токенов, я должен передать параметр токена в каждом 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 в любом месте контроллера с сохраненным значением.

  • 0
    лучше использовать $rootScope для передачи значения и использовать $localStorage а не только
Теги:

2 ответа

1
Лучший ответ

на странице перезагрузите приложение будет инициализировано, так что у вас ничего не будет в вашем корневом каталоге $. Вместо этого вы можете хранить токен доступа или сеанс, localstorage и т.д.

  • 0
    как хранить $ rootcope в локальном хранилище? Я успешно сохранил строку 'jack', но не смог сохранить $ rootScope внутри localalstorage.
  • 1
    localStorage.setItem ('rootScope', JSON.stringify ($ rootScope)); Нам нужно структурировать объект. Но мы должны быть уверены, что каждый раз, когда мы обновляем rootcope, мы должны обновлять localalstorage.
Показать ещё 4 комментария
1

Это должно сработать. Можете ли вы предоставить plunkr для своего кода.

Еще одна вещь: какой тип - ваш access_token? Полагаю, вы знаете, вам нужно скомпоновать объекты JSON перед сохранением в localStorage и проанализировать его, когда вы вернете его.

Кроме того, я думаю, вы должны использовать sessionStorage, а не localStorage.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню