我需要一些帮助来动态加载模板中的数据作为文件更改。以下是数据和代码的示例
我有一个json文件:
data = '[{"name" : "bob", "value" : "3.1"}, {"name" : "joe", "value" : "5.6"}]';此文件中的值定期更改(每2-3秒)
我有一个HTML文件
<head>
<script type="text/javascript" src="data.json"></script>
<script type="text/javascript" src="javascript.js"></script>
</head>
<body>
<table>
<tr>
<td>0</td>
<td>0</td>
</tr>
<tr>
<td>0</td>
<td>0</td>
</tr>
</table>
<body>
<script type="text/javascript">
document.body.innerHTML = markup;
</script>javascript.js是:
var mydata = JSON.parse(data);
const markup = `
<table>
<tr>
<td>${mydata[0].name}</td>
<td>${mydata[0].value}</td>
</tr>
<tr>
<td>${mydata[1].name}</td>
<td>${mydata[1].value}</td>
</tr>
</table>
`;因此,第一个问题是:如何使数据随着值的变化而动态加载到模板中?jQuery?node.js?我需要最简单的解决方案,因为我不是新手。
其次,html代码在现实中有点复杂,但有没有一种相对简单的方法来遍历数据,而不是让我手动编写所有内容?比如引入“数据中的foreach d”?
谢谢你的帮助,非常感谢!
发布于 2020-05-25 13:19:41
我希望我能帮上忙
HTML:
<table id="myTable">
</table>Javascript:
var x = document.getElementById("myTable");
setInterval(function(){
// Here you get the file in the way that is most convenient for you
// More info here: https://www.w3schools.com/js/js_json_parse.asp
var data = '[{"name" : "bob", "value" : "3.1"}, {"name" : "joe", "value" : "5.6"}]';
var obj = JSON.parse(data);
// Clear the table
x.innerHTML = '';
// Adds new values
for (var key in obj[0]) {
if (obj[0].hasOwnProperty(key)) {
x.innerHTML += '<tr><td>'+key+'</td><td>'+obj[0][key]+'</td></tr>'
}
}
}, 1000);发布于 2020-05-25 13:26:27
1.NodejsExpressjs
2.Fetch()和setInterval()客户端
假设您已经设置了关于初始json文件中的值更改的函数/代码。
你能做的就是在服务器端使用nodejs和expressjs来发送数据(也许是json格式?)当被ping时,在客户端,你可以做的是在js中创建一个函数(可能使用fetch()),每隔'x‘秒使用setInterval()来ping nodejs服务器,并检索数据,如果它是json,则解析它,并更改表中的数据。
关于表中的数据,已经有人发布了解决方案。
希望它能帮上忙!
https://stackoverflow.com/questions/61995780
复制相似问题