繁体   English   中英

将数据从 Node/Express 传递到前端 Javascript

[英]Pass Data From Node/Express to Front-End Javascript

我不确定这将如何准确地工作,并且我无法通过搜索找到答案。 我正在使用节点和快速服务器,并且一直在将数据传递到我的前端 ejs 没有问题。 现在,我正在尝试在前端实现charts.js,这要求数据位于前端javascript 文件中。 我知道要将数据传递给我的 ejs 文件,我使用如下内容:

res.render("dashboard", {data: data});

并在 ejs 文件中显示数据,我使用

<%= data %> 

现在,我想做的基本上是一样的,但是我不想将数据传递到 ejs 文件中,而是将其传递到 javascript 文件中,同时仍显示 ejs 文件。 现在,我似乎无法弄清楚 go 是如何将我的数据保存在快速服务器中,并将其返回到前端 javascript 文件中的。 我正在寻找的流程是这样的:

在节点中:

data = []:
res.render("dashboard", {data: data});

然后渲染 ejs 文件并将数据传递到 ejs 文件中正在使用的前端 javascript 文件中:

let data = <%= (data array passed from the node server here) %>

当然,这不是编写代码的正确方法,但这是我试图实现的基本逻辑。

我确信这很简单,但我似乎无法在我的上下文中找到答案。 有什么资源可以让我学习做我想做的事吗? 谢谢。

您无法同时使用 HTML 文档和单独的 JavaScript 文件来响应单个请求。

所以你需要:

  • 将数据存储在某个地方,并在一个单独的端点中提供一些生成的 JavaScript 并具有一种机制来识别在发出请求时要提供哪些数据。 注意:这非常复杂。不要这样做。)
  • <script>元素内的 HTML 文档中内联生成 JavaScript。 (您需要将数据正确转义为 JS,以确保您不受 XSS 的影响)。
  • Output the data into the HTML document (eg with data-* attributes or <meta> elements) and read it with static JavaScript.
  • 同样,使用单独的端点:为 JSON 提供其中的数据,并使用 Ajax 从 static JS 文件中读取。 (同样,您需要一种方法来确定为该特定请求发送哪些数据)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM