首页 > 解决方案 > 当我按下按钮时,JSON 文件不显示

问题描述

当我按下按钮时,我试图让我的 JSON 文件显示在页面上,但由于某种原因,代码没有获取该文件。

当我按下按钮时,它应该显示 4 个数组。

var autotila = document.getElementById("autolista")
var nappi = document.getElementById("nappi");

nappi.addEventListener("click", function() {
  var auto = new XMLHttpRequest();
  auto.open('GET', 'cars.json');
  auto.onload = function() {
    var ourData = JSON.parse(auto.responseText);
    lisaahtml(ourData);
  };
  auto.send();
});


function lisaahtml(data) {
  var htmlpatka = "";
  for (i = 0; i < data.lenght; i++) {
    htmlpatka += "<p>" + data[i].manufacturer + "," + data[i].model + "," + data[i].price + "," + data[i].wiki + "</p>";
  }
  autotila.insertAdjacentHTML('beforeend', htmlpatka)
}
<button id="nappi" value="nappi" type="button">Paina</button>
<div id="autolista"></div>

{
    "data" : [{ 
        "manufacturer" : "Porsche",
        "model" : "911",
        "price" : 135000,
        "quality" : [{ 
            "name" : "overall",
            "rating" : 3
        },{ 
            "name" : "mechanical",
            "rating" : 4
        },{ 
            "name" : "powertrain",
            "rating" : 2
        },{ 
            "name" : "body",
            "rating" : 4
        },{ 
            "name" : "interior",
            "rating" : 3
        },{ 
            "name" : "accessories",
            "rating" : 2
        }],
        "wiki" : "http://en.wikipedia.org/wiki/Porsche_997"
    }
}

标签: javascriptjson

解决方案


看起来有一个错字:

for (i = 0; i < data.lenght; i++)

应该

for (i = 0; i < data.length; i++)

推荐阅读