为什么我的对象没有被推送到本地存储?

时间:2017-05-16 19:01:20

标签: javascript local-storage

我正在制作一个程序,我想将javascript对象推送到本地存储,我不想使用除本地存储之外的任何其他方法。我得到一个项目,但我没有获得添加到本地存储阵列的其他项目。这是我的javascript代码:

更新新代码

    var form = document.getElementsByTagName("form")[0];
form.setAttribute("method", "POST");

var data = JSON.parse(localStorage.getItem('data') || '[]')

if (data == null) {
  data = new Array();
}

var add = document.getElementsByTagName("button")[0];
add.addEventListener('onclick',validate);
console.log(add);

function validate() {
  var age = document.getElementsByName("age")[0].value;
  var relation = document.getElementsByName("rel")[0].value;

  var list = document.getElementsByTagName("ol")[0];

  var myObj = {"age": age, "relation": relation};

  data.push(myObj);

  localStorage.setItem("data", JSON.stringify(data))

  alert(data);
}

console.log(data);

1 个答案:

答案 0 :(得分:1)

LocalStorage只能保存字符串。使用localStorage.setItem("data", JSON.stringify(data))保存并JSON.parse(localStorage.getItem('data') || '[]')阅读