如何将JSON数据显示到html表格中的另一个html页面?

时间:2019-11-04 09:57:35

标签: javascript html json local-storage

这是第一页:

scoreSubmit() {
  var name = prompt("Unesi svoje ime:");
  var objekat = {
    "name": name,
    "score": score
  };
  var myJSON = JSON.parse(localStorage.getItem("textvalue"));
  myJSON[myJSON.length] = objekat;

  var sort = false;
  while (!sort) {
    sort = true;
    for (var i = 0; i < myJSON.length - 1; i++) {
      if (myJSON[i + 1].score > myJSON[i].score) {
        var temp = myJSON[i];
        myJSON[i] = myJSON[i + 1];
        myJSON[i + 1] = temp;
        sort = false;
      }
    }
  }
  localStorage.setItem("textvalue", JSON.stringify(objekat));
}

这是我第二页上的代码

  var myJSON=JSON.parse(localStorage.getItem("textvalue"));

  var bodycontent="";

  for(var i =0;i<myJSON.length;i++){
               bodycontent +="<tr>";
               bodyContent += "<td>" + (i + 1) + ".</td><td class='name'>" + myJSON[i].name + "</td><td>" + myJSON[i].score + "</td>";
               bodyContent += "</tr>";


   }
   document.getElementById("leaderboardBody").innerHTML =bodycontent;

但是由于某种原因,如果JSON数据未显示在表上。您知道我在哪里吗?任何帮助都需要我很多!

1 个答案:

答案 0 :(得分:0)

localStorage.setItem("textvalue", JSON.stringify(objekat));

看起来不对。当然,您打算写

localStorage.setItem("textvalue", JSON.stringify(myJSON));

否则,它将只将一个对象值写入localstorage,而检索现有列表,添加到列表中并进行排序的整个目的毫无意义。另外,如果尝试使用第二页代码处理单个对象,则该对象将没有长度(因为它不是数组),因此循环将无法运行以创建HTML。