我有一个 SPA,带有快速 Handlebars 。 我需要在 URL 中传递路由参数,以便我可以在它指向的后续页面中选择它并呈现与该参数有关的详细信息。 例如。
www.sitename.com/events/1
, www.sitename.com/events/2
1 和 2 将是事件 ID,然后我将使用它们来获取该事件的详细信息。
我需要 handlebars 来为我的两条路线呈现相同的 eventdetail
页面,如上所示。但它似乎破坏了一切,控制台检查显示它试图进入“事件”文件夹,然后试图找到其中的所有文件并最终抛出 404 页面。
这些是我现在在我的 routes.js 页面中的路线。
router.get("/events", function(req, res, next) {
res.render("events");
});
router.get("/eventdetail", function(req, res, next) {
res.render("eventdetail");
});
我该怎么做?
最佳答案
您必须修改路由以处理在 url 中传递的路径参数。目前,express 正在寻找与 events/1
匹配的路径,但您的配置中不存在该路径,因此它会抛出 404 错误。
更改您的 /events
路由以使用如下路径参数
router.get("/events/:page", function(req, res, next) {
// you can access page value here with
// req.params.page
// for /events/1, req.params.page will return value "1"
res.render("events");
});```
关于javascript - Express-handlebars 路由参数链接到同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54976706/