【发布时间】:2021-07-03 16:45:38
【问题描述】:
拥有一个从 postgres 查询并将数据写入 json 文件 queryResult.json 的 Nodejs 脚本。
在一个新的 html 文件中,当我将 json 数据硬编码到一个变量时,我能够动态地创建 html 表。但是,我不确定如何从本地存储中读取 json 文件,或者我是否需要使用外部 JS 库来提供帮助。 我刚才确实尝试通过添加一个 ajax 调用来从本地存储/文件夹中获取文件,但是我收到了一个与 cors 相关的错误。我想我需要托管这个文件。还有其他方法可以在本地测试吗?也许我在想像 wamp 之类的本地网络服务器?
html代码https://pastebin.com/Wir6zfUm
<body onload="CreateTableFromJSON()">
<p id="showData"></p>
</body>
<script src="queryResult.json" type="text/javascript"></script>
<script>
function CreateTableFromJSON() {
var results = [
{
"unique_id": "0555163995",
"group": "Robomonkey",
"status": "Assigned",
"last_responder": "batman",
"last_response_date": "2021-04-02T06:43:24.000Z"
}
]
// EXTRACT VALUE FOR HTML HEADER.
var col = [];
for (var i = 0; i < results.length; i++) {
for (var key in results[i]) {
if (col.indexOf(key) === -1) {
col.push(key);
}
}
}
var table = document.createElement("table");
// CREATE HTML TABLE HEADER ROW USING THE EXTRACTED HEADERS ABOVE.
var tr = table.insertRow(-1); // TABLE ROW.
for (var i = 0; i < col.length; i++) {
var th = document.createElement("th"); // TABLE HEADER.
th.innerHTML = col[i];
tr.appendChild(th);
}
// ADD JSON DATA TO THE TABLE AS ROWS.
for (var i = 0; i < results.length; i++) {
tr = table.insertRow(-1);
for (var j = 0; j < col.length; j++) {
var tabCell = tr.insertCell(-1);
tabCell.innerHTML = results[i][col[j]];
}
}
【问题讨论】:
标签: javascript html json ajax