【发布时间】:2017-05-07 11:12:25
【问题描述】:
我正在使用 NodeJS 调用一些 API,并使用以下代码通过 ExpressJS 将它们传递给我的 EJS 模板:
app.get('/', function (req, res) {
res.render('routes/index', {
plLoopTimes: plLoopTimes,
pl54Times: pl54Times
})
});
在本例中,plLoopTimes 和 pl54Times 是由我从 API 获得的 JSON 填充的数组。在我的 EJS 模板中,我可以通过在两个数组上运行 forEach 来简单地获取数据。我面临的问题是当我第一次启动节点服务器时,我从 API 获取新数据,并且新数据被输入 EJS 模板,但我想每分钟轮询 API 并获得新数据数据。现在,我确实在我的服务器端脚本上使用setInterval() 每分钟调用一次 API,但我不知道如何在不刷新整个页面的情况下将新数据传递到 EJS 模板中,这是我不想要的去做。我试图创建一个客户端脚本来更改要显示数据的元素的innerHTML,但是如果我在脚本文件中输入 EJS 语法并将其传递给innerHTML,则 EJS 模板不表达该语法,相反,我的脚本只是将 EJS 字符串输出到页面中。那么,对于如何将服务器端代码中的变量更新到客户端的 EJS 模板中,有人有什么建议吗?
【问题讨论】:
标签: javascript json node.js express ejs