首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件动态导入值

从文件动态导入值
EN

Stack Overflow用户
提问于 2020-05-25 12:26:29
回答 2查看 59关注 0票数 0

我需要一些帮助来动态加载模板中的数据作为文件更改。以下是数据和代码的示例

我有一个json文件:

代码语言:javascript
复制
data = '[{"name" : "bob", "value" : "3.1"}, {"name" : "joe", "value" : "5.6"}]';

此文件中的值定期更改(每2-3秒)

我有一个HTML文件

代码语言:javascript
复制
<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是:

代码语言:javascript
复制
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”?

谢谢你的帮助,非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-05-25 13:19:41

我希望我能帮上忙

HTML:

代码语言:javascript
复制
<table id="myTable">
</table>

Javascript:

代码语言: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);
票数 0
EN

Stack Overflow用户

发布于 2020-05-25 13:26:27

1.NodejsExpressjs

2.Fetch()和setInterval()客户端

假设您已经设置了关于初始json文件中的值更改的函数/代码。

你能做的就是在服务器端使用nodejs和expressjs来发送数据(也许是json格式?)当被ping时,在客户端,你可以做的是在js中创建一个函数(可能使用fetch()),每隔'x‘秒使用setInterval()来ping nodejs服务器,并检索数据,如果它是json,则解析它,并更改表中的数据。

关于表中的数据,已经有人发布了解决方案。

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61995780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档