簡體   English   中英

解析大 JSON 數據信息 HTML 表

[英]Parse big JSON Data info HTML Table

我想將 JSON 文件實現到 HTML 表中。 然而,在我的情況下它不起作用。 該表應一次顯示所有數據(如果可能)

<!DOCTYPE html>
<html>
<body>

<h2>Make a table based on JSON data.</h2>

<p id="demo"></p>

<script>
var obj, dbParam, xmlhttp, myObj, x, txt = "";
obj = { table: "name", limit: 50 };
dbParam = JSON.stringify(obj);
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    myObj = JSON.parse(this.responseText);
    txt += "<table border='1'>"
    for (x in myObj) {
      txt += "<tr><td>" + myObj[x].name + "</td></tr>";
    }

    txt += "</table>"    
    document.getElementById("demo").innerHTML = txt;
  }
};
xmlhttp.open("GET", "http://infoportal.vag.de/InfoPortal/busstations.xhr", true);
xmlhttp.setRequestHeader("Content-type", "application/json");
xmlhttp.send("x=" + dbParam);
</script>

</body>
</html>

此代碼應該可以工作(但不在此代碼段內)

 const Limit = 20, LoadingTable = document.getElementById('Loading-Table') ; let xdr = getXDomainRequest("get", "http://infoportal.vag.de/InfoPortal/busstations.xhr"); if (!xdr) { throw new Error("no cross-domain allowed by your browser :/"); }; xdr.onload = function() { jsonData = JSON.parse(xdr.responseText); let line = 0; for (elm in jsonData) { let row = LoadingTable.insertRow(line), c_0 = row.insertCell(0), c_1 = row.insertCell(1), c_2 = row.insertCell(2), c_3 = row.insertCell(3) ; c_0.textContent = elm; c_1.textContent = jsonData[elm].name; c_2.textContent = jsonData[elm].x; c_3.textContent = jsonData[elm].y; if (++line >= Limit) break; } } xdr.send(); function getXDomainRequest( method, url ) { var xdr = null; if (window.XDomainRequest) { // MS ie xdr = new XDomainRequest(); xhr.open(method, url); } else if (window.XMLHttpRequest) { xdr = new XMLHttpRequest(); if ('withCredentials' in xdr) { xdr.open(method, url, true); } else { xdr = null; } } return xdr; }
 body { font-size: 14px; font-family: Arial, Helvetica, sans-serif; } #Loading-Table { border-collapse: collapse; } #Loading-Table, #Loading-Table td { border: 1px solid grey; } #Loading-Table td { padding: 2px 10px; }
 <h2>Make a table based on JSON data.</h2> <p id="demo"></p> <table id="Loading-Table" ></table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM