快速车把路由参数链接到同一页面

时间:2019-03-04 04:37:17

标签: javascript express-handlebars

我有一个用快速车把制成的SPA。 我需要在URL中传递路由参数,以便可以在指向该页面的下一页中进行选择,并呈现与该参数有关的详细信息。 例如

www.sitename.com/events/1www.sitename.com/events/2 1和2将是事件ID,然后我将使用它们来获取该事件的详细信息。

我需要车把为我为上述两条路线呈现相同的eventdetail页面。但是它似乎破坏了一切,并且控制台检查显示它正在尝试进入“事件”文件夹,然后试图查找其中的所有文件并最终抛出404页。

这些是我现在在routes.js页面中拥有的路由。

`
router.get("/events", function(req, res, next) {
  res.render("events");
});
router.get("/eventdetail", function(req, res, next) {
  res.render("eventdetail");
});
`

我该如何处理?

1 个答案:

答案 0 :(得分:0)

您必须修改路由以处理在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");
});```