javascript - Express-handlebars 路由参数链接到同一页面

标签 javascript express-handlebars

我有一个 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/

相关文章:

node.js - 如何在 firebase 上使用带有 Handlebars 模板引擎的 Node js 托管我的 Web 应用程序

node.js - 使用express-handlebars找不到css文件

javascript - 如何修复 Handlebars 中的前端 javascript 从服务器捕获未定义的值?

javascript - 使用 jquery 克隆 div 并显示为代码

javascript - 启用脚本调试后无法在 Visual Studio 中运行 angularJS 应用程序 (1.6)

javascript - Angular - 带有动态模板的指令

javascript - 如何使用 Select 2 js 找到确切的单词?

javascript - Handlebars 在嵌套循环中访问外部索引

javascript - 基本 'if' 语句在 handlebars JS 中不起作用

javascript - Facebook 评论导致 iPhone 和 iOS 版 Safari 出现 javascript 错误