Как сохранить json-ответ в локальном хранилище с помощью angularjs?

У меня есть api, который возвращает json-ответ, и я хочу сохранить этот ответ json в localstorage, чтобы использовать этот ответ на моей другой странице html с помощью angularjs.

Вот мой код, который возвращает ответ json....

QAApp.controller('SearchCtrl', function ($scope, $http, $location) {

  $scope.search = function (searchtag) {
           var request = $http({
                          method: 'GET', 
                          url: server + 'api/question/tagged/' + searchtag,
                        });
                request.success(function(data, status, headers, config) {
                console.log(data);
                $scope.qa = data;
            });

        }
  }); 

Скажите, пожалуйста, как я могу его сохранить...

Ответ 1

На ваш request.success() используйте

window.localStorage['storageName'] = angular.toJson(data);

Затем вы можете получить доступ к данным в localstorage с помощью

var accessData = window.localStorage['storageName'];

Ответ 2

Я хочу предложить это, потому что я использовал его, и он работает стабильно https://github.com/gsklee/ngStorage.

После загрузки и присоединения к проекту вы должны добавить его как зависимость

    QAApp.controller('SearchCtrl', function ($scope, $http, $location,$localStorage) {

      $scope.search = function (searchtag) {
               var request = $http({
                              method: 'GET', 
                              url: server + 'api/question/tagged/' + searchtag,
                            });
                    request.success(function(data, status, headers, config) {
                    $localStorage.qa = datal
                    $scope.qa = data;
                });



  }
  }); 

Ответ 3

Я рекомендую использовать модуль angular-local-storage в GitHub.

Ответ 4

$scope.Save = angular.toJson(data); //Save to storage
sessionStorage.setItem('blablabla',$scope.Save);
localStorage.setItem('blablabla', $scope.Save); 

$scope.DataFromJson = JSON.parse(sessionStorage["blablabla"]); //Get from storage
$scope.DataFromJson = JSON.parse(localStorage["blablabla"]);

Ответ 5

/* Чтобы извлечь json из localStorage */

var user = angular.fromJson($window.localStorage['md-user']);

/* Чтобы сохранить json в loacalStorage */

$window.localStorage['md-user'] = angular.toJson(user);