node.js - 将变量从 .ejs 文件传递​​回express.js

标签 node.js api express ejs

我正在使用带有express.js框架的node.js和设置为“ejs”的 View 引擎来处理该项目。该项目的功能是:
1. 获取用户的输入。
2. 使用输入将请求发送到网站的 API。
3. 打印该API中的某些数据(包括稍后要使用的ID)。
4. 当用户单击包含上述数据的列表中的项目(即“a”标签)时 - 使用该项目的 ID 向同一网站发送另一个请求,以获取有关该项目的更详细信息。

我陷入了第 4 步。问题是:
当用户单击该项目时,如何从 .ejs 文件发送此 id 以在 Node.js 中发布请求?
另一种方法很简单:response.render("view name", {nodeJsVar: ejsVar});但如何传回来呢?
感谢您的帮助!

最佳答案

首先,您不能“从 .ejs 文件”发送任何数据 - 您可以做的是从浏览器发送数据,该浏览器具有呈现的 HTML(可能还有 JavaScript)而不是 EJS。

您可以使用一些客户端 JavaScript 来完成此操作,在这种情况下您可以做任何您想做的事情。

如果您使用标准 <a href="...">,则可以通过将变量值作为路由参数或查询参数嵌入 URL 来实现此目的链接。

如果您使用表单和按钮,则可以在表单中放置隐藏输入。

如果您使用 AJAX,则可以将其放在请求的任何部分中。

只是为了确保您知道什么是什么,因为它可能会令人困惑 - 这里 X是一个路径参数:

http://localhost/something/X

这里X是一个查询参数:

http://localhost/something?x=X

关于node.js - 将变量从 .ejs 文件传递​​回express.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43000447/

相关文章:

javascript - 获取发送给名称中带有空格的哈巴狗的选项

javascript - 如何等待 'for'循环返回

javascript - 如何托管依赖于 Node.js 的网站?

node.js - 使用 fluent-ffmpeg 添加字幕

api - 其他国家的支付系统流程

php - API 安全 : how to restrict access by domain?

javascript - 如何在 ejs 中包含 promise 值?

javascript - 简单和基本的 Node WebSocket 客户端和服务器示例

python - 如何显示json的特定部分?

node.js - 在数据库准备好之前运行 Jest 测试