已经有similar thread似乎相似但在这里我遇到了一些不同的问题。
我想要URL是动态的完整URL。我正在为我的所有页面使用一个常见的nunjuk模板。
让我们面对现实吧。假设我有一个URL路径:
/博客/一/二/ 3
值得注意的是,“博客”是静态的,但“一个”,“两个”和“三个”是变量,它们将根据我网站上所要求的博客文章进行更改。
我正在使用以下代码通过传递“:post”来获取URL,但是当我在url中添加更多路径子目录(如“one”,“two”或“three”)时,我得到了“找不到模板“错误。
router.get('/blog/:post', function (req, res) {
var path = req.params.post;
var title2 = JSONFile[path].title;
var date2 = JSONFile[path].date;
var author2 = JSONFile[path].author;
var content2 = JSONFile[path].content;
res.render('blogposts.html', {
title : title2,
date: "date2",
author: "author2",
content: "content2"
});
});
我的问题是:如何在“/ blog”之后获取所有动态网址子路径?请记住,子路径也可以扩展到“四”或“五”等等。
答案 0 :(得分:0)
我假设在一个,两个和三个位置有3个参数,所有这些参数都是动态的,你想在代码中使用这些参数后提供一些内容。你可以用它替换它,
/blog/:year/:month/:day
这样,所有3个参数都是动态的,可以这样访问,
var year = req.params['year'],
month = req.params['month'],
day = req.params['day'];
如果网址中有超过3个参数,那么您可以附加更多占位符,例如
/blog/:one/:two/:three/:four/:five
所有这些都可以从req.params
访问