Visualizzazione dei risultati da 1 a 4 su 4

Discussione: LocalStorage e JSON

  1. #1

    LocalStorage e JSON

    ciao!

    vorrei salvare una stringa JSON in localStorage, in modo da averla memorizzata sul client e non doverla riscaricare tutta ogni volta (ma solo quando l'utente decide di aggiornare i dati).
    sto usando angularjs, ma non creado sia quello il problema.

    ho provato una cosa del genere:
    codice:
                    if (window.localStorage.getItem("CLIENTI") == "null") {
                            $http.get($scope.SERVICE_LINK + "clienti.php").then(function (response) {
                                $scope.items = response.data;
                                window.localStorage.setItem("CLIENTI", response.data);
                            }, function (response) {
                            });
                    } else {
                        $scope.items = window.localStorage.getItem("CLIENTI");
                    }
    in pratica quando avvio la pagina, i dati si vedono correttamente.
    quando provo a tornare sulla pagina, non viene fatta di nuovo la richiesta, ma la pagina risulta bianca.
    quindi, in pratica, window.localStorage.getItem("CLIENTI") risulta valorizzata, ma non viene interpretata come json.
    secondo voi dove sto sbagliando??

  2. #2
    ok mi sono risposto da solo.
    la riga nell'else deve diventare così:
    codice:
    $scope.items = JSON.parse(window.localStorage.getItem("CLIENTI"));
    ciao!

  3. #3
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, se provi questa istruzioni da console:
    codice:
    window.localStorage.setItem('item1', '[{prova:1}]')
    window.localStorage.getItem('item1')
    
    
    window.localStorage.setItem('item2', [{prova:1}])
    window.localStorage.getItem('item2')
    Da quel che vedo (anche se non lo ho mai usate) potrebbe essere che vengono storati come stringhe in ogni caso.
    Potresti provare a salvarli con JSON.stringify() e recuperarle in un secondo momento utilizzando JSON.parse().

  4. #4
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, se provi questa istruzioni da console:
    codice:
    window.localStorage.setItem('item1', '[{prova:1}]')
    window.localStorage.getItem('item1')
    
    
    window.localStorage.setItem('item2', [{prova:1}])
    window.localStorage.getItem('item2')
    Da quel che vedo (anche se non lo ho mai usate) potrebbe essere che vengono storati come stringhe in ogni caso.
    Potresti provare a salvarli con JSON.stringify() e recuperarle in un secondo momento utilizzando JSON.parse().
    si esatto.
    ho postato la soluzione un pò prima di te!
    grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.