【问题标题】:Set parameter for URL in html and use parameter in Node.js Express for routing在 html 中为 URL 设置参数并在 Node.js Express 中使用参数进行路由
【发布时间】:2017-08-02 10:45:37
【问题描述】:
我对 Node JS 和 Express Framework 和 mongodb 非常陌生。我在一个有多个类别的网站上工作,当我们点击类别时,它会进入一个视图,根据点击的类别,数据会加载到视图中。
请查看here 网站的链接。
我正在寻找导航栏链接的帮助,例如。 Montessori Premium->幼儿教材
由于这些是静态链接,我不知道如何为此传递任何参数或 url 格式。
我已经完成了单个产品的路由,因为它们的 id 来自数据库,所以我在 url 中使用该 id。
提前致谢。
【问题讨论】:
标签:
node.js
mongodb
express
【解决方案2】:
在我看来,您只是在前端和后端数据库调用之间缺少了一点粘合剂。以下是您可能会遵循的顺序的粗略概念,以及我认为您缺少的内容的解释。
如果我错了,请添加评论并更新您的问题以包含新的详细信息,我会看到如何编辑我的答案。
在此示例中,我正在创建一个网站,其中包含商店中的“商品”列表,我们希望将它们全部显示在一个页面上。然后,每个项目都应该有一个指向该特定项目的href,其中可能有更多细节,例如项目的“完整描述”,可能还有一些图像或其他东西。我们将查看使用项目列表构建第一页的流程。
- 用户对您网站的根目录进行 HTTP GET 调用,例如“http://www.mystore.com/”。
- 此请求通过 Express 传递到您的控制器,该控制器采用
req, res, next 参数。
- 您的控制器调用数据库以获取所有项目的列表,包括它们的名称和 ID。
- 然后您使用称为模板的东西注入项目列表。
- 在此模板中,您可以像这样遍历列表。
.
<ul>
{{#each items}}
<li><a href="/items/{{id}}>{{name}}</a></li>
{{/each}}
</ul>
在这个模板(恰好是 Handlebars)中,我们将遍历项目列表,并使用每个项目的 id 和名称将它们注入 HTML 以得到类似这样的东西。
<ul>
<li><a href="/items/1>Shoes</a></li>
<li><a href="/items/2>Red spotted dress</a></li>
<li><a href="/items/3>Jeans</a></li>
</ul>
- 模板处理完毕后,该模板将提供给用户。
本质上,我认为您正在使用某种模板引擎,我强烈建议您使用 express-hbs 之类的东西查看 Handlebars。