Node.js 如何在插入文档集合时动态添加HTML内容
在本文中,您将学习如何使您的Node应用程序具有响应性,使其能够自动更改HTML内容并更新插入到集合中的新内容。
我们将设置一个中间件EJS,EJS使得从您的服务器文件(app.js或server.js)向静态页面(HTML)发送数据变得简单。之后,我们将使用Body Parser捕获表单中的用户输入值并将其存储在集合中,然后将集合的数据发送到静态页面。通过这种方式,当任何数据插入到表单中时,它会插入到集合中并自动更新HTML内容。
安装EJS: 定位到终端中的根项目目录并键入命令
将EJS设置为视图引擎:
重新排列您的目录: 需要将您的文件从 .html 重命名为 .ejs 以便在其中使用 EJS 。然后您需要将每个 .ejs 文件移动到根目录中的视图目录内。
使用EJS变量: 在您更新后的 .ejs 文件中,您需要使用 EJS变量 来接收来自服务器文件的值。
将数据发送到变量: 在您的服务器文件(app.js或index.js)中,您可以使用render方法发送带有一些数据的EJS文件。
从表单获取数据到app.js: 要接收表单输入值,我们必须使用一个名为 body-parser 的节点软件包。
安装body-parser:
要求使用 body-parser 模块:
然后
然后我们可以使用请求对象处理表单数据。
示例: 假设有一个包含名称数据的集合,数据中有包含标题和内容的元素。所以我们必须把这些元素发送到Home文件,以便显示它。我们还同时创建一个负责处理首页发起的POST请求的Post路由,将表单输入存储并插入到集合中。
App.js文件
Home.ejs文件: 我们必须使用ForEach循环来遍历集合中的每个对象,并显示标题和内容。我们还需要设置一个用于提交新标题和内容的表单。
输出: