我正在使用带有express.js框架的node.js并将视图引擎设置为“ ejs”的项目。该项目的职能是:
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/

10-13 07:31