[EDIT] Полный и правильный код @ https://repl.it/@aleemont / XMLPersone
Мне нужно прочитать файл 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);
}