2012-11-19 3 views
1

Можно создать дубликат:
Storing Objects in HTML5 localStorageПолучение JSON данные в веб-хранилище не работает

Я пытаюсь хранить данные в формате JSON, имя & PhoneNumber дано в двух текстовых полей, а позже (после обновления страницы) извлекать и печатать данные в тех же полях со следующим кодом.

 function saveData() { 
      var saveD = { 
       name: document.getElementById("name").value, 
       phone: document.getElementById("phone").value 
      }; 

      window.localStorage.setItem("info", saveD); 
     } 
     var storedData = window.localStorage.getItem("info"); 

     document.getElementById("name").value = storedData.name; 
     document.getElementById("phone").value = storedData.phone; 

Что не так? Я получаю «undefined» в обоих полях.

+1

Вы пытаетесь сохранить объект, а не JSON. Он будет работать, если вы правильно конвертируете объект в JSON и из него. –

+0

Спасибо за ваши ответы! @Bankzilla, как мне это сделать? –

+1

нажмите галочку рядом с правильным ответом. – teddybeard

ответ

5

Сохранить как это:

window.localStorage.setItem("info", JSON.stringify(saveD)); 

И нагрузки, как это:

var storedData = JSON.parse(window.localStorage.getItem("info")); 

Вы должны хранить объекты, как JSON в локальном хранилище.

+0

Спасибо! Это сработало! Я пытался использовать JSON.stringify раньше, но не знал о JSON.parse .... вот почему он не работал ... –

+0

Thaks! Это то, что мне нужно, и я нашел его всего 4 секунды :) –