[编辑] 完整且正确的代码 @ https://repl.it/@aleemont/XMLPerson
我需要阅读 JSON 文件并将它包含的所有信息放在一个表中。我正在尝试使用 XMLHttpRequest 这样做。我的老师给了我一个例子,但我无法正确理解。这是我写的代码:
var ppl = new Array();
function load(){
var xmlhttp = new XMLHttpRequest();
var url = "data.txt";
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4){
if(xmlhttp.status == 200){
ppl = JSON.parse(xmlhttp.responseText);
print();
}
else
document.getElementById("error").innerHTML = "ERROR";
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function print(){
/*here is where i should create the table
where to put the content of data.txt*/
}
这是我老师给我的代码,但我不明白这些方法是做什么的。它还使用不同的 JSON 文件,但我猜这没关系。
function print(){
var ncol=0;
for (key in pc)
ncol++;
var tit = document.getElementsByTagName("title");
var txt = tit[0].childNodes[0];
var tab = document.getElementById("computer");
tab.innerHTML="";
var table = document.createElement("TABLE");
var title = document.createElement("TR");
var ele = document.createElement("TH");
ele.colSpan = ncol;
ele.appendChild(txt);
title.appendChild(ele);
table.appendChild(title);
var heading = document.createElement("TR");
for (var x in pc[0])
{
txt = document.createTextNode(x);
ele = document.createElement("TH");
ele.appendChild(txt);
heading.appendChild(ele);
}
table.appendChild(heading);
for (var i in pc)
{
var row = document.createElement("TR");
for (var x in pc[i])
{
if (x=="Storage")
txt = document.createTextNode(storage[pc[i][x]]);
else
txt = document.createTextNode(pc[i][x]);
ele = document.createElement("TD");
ele.appendChild(txt);
riga.appendChild(ele);
}
table.appendChild(riga);
}
tab.appendChild(table);
}