我不确定这将如何正常工作,并且无法通过搜索找到答案。我正在使用节点和Express服务器,并且一直将数据无问题地传递到前端ejs。现在,我正在尝试在前端中实现Charts.js,这需要将数据存储在前端javascript文件中。我知道要将数据传递到我的ejs文件,我使用类似这样的东西:
res.render("dashboard", {data: data});
并显示ejs文件中的数据,我使用
<%= data %>
现在,我想做的基本上是同一件事,但是我希望将数据传递到javascript文件中,同时仍显示ejs文件,而不是将数据传递到ejs文件中。现在,我似乎无法弄清楚如何将数据存储在快速服务器中并将其返回到前端javascript文件中。我正在寻找的流程将是这样的:
在节点中:
data = []:
res.render("dashboard", {data: data});
然后呈现ejs文件,并将数据传递到ejs文件中正在使用的前端javascript文件中:
let data = <%= (data array passed from the node server here) %>
当然,这不是编写代码的正确方法,但这是我尝试实现的基本逻辑。
我确信这很简单,但是我似乎无法在这里找到答案。有什么资源可以学习做自己想做的事情?谢谢。
您无法同时使用HTML文档和单独的JavaScript文件来响应单个请求。
所以您需要:
<script>
元素内的HTML文档中生成JavaScript内联。 (您需要以JS格式正确转义数据,以确保您不受XSS的约束。)>data-*
属性或<meta>
元素),并使用静态JavaScript读取。