我有一个nodejs app,其中一段路径文件有这样的代码:
app.get('/summary/:id', function(req, res) {
req.logout();
Session.findOne({_id: req.params.id}, function(err, result) {
if (err) {
console.log(err);
res.end(ERROR);
return;
}
res.render('summary.ejs', {
data: result._id,
name : result.name
});
});
});
通过此代码,我可以在地址末尾看到任何有效ID的网站,例如http://localhost:8080/summary/57df24b26b79ea95037cc3a3等。经过长时间的搜索,我仍然不知道像{{ 1}}。此外,此处的:id
似乎不再出现。那么,这是如何工作的?我试图找到一些API或文档来描述,但失败了。
如果你能帮助我弄清楚,我会很感激。
答案 0 :(得分:0)
就Node而言,这只是一个字符串。
看起来您正在使用Express,在这种情况下,the documentation explains:
路由参数是命名的URL段,用于捕获在URL中的位置指定的值。捕获的值将填充在req.params对象中,路径参数的名称在路径中指定为各自的键。
和
app.get('/users/:userId/books/:bookId', function(req, res) { res.send(req.params); });
此外,此处的ID似乎不再出现
确实:req.params.id