我有一个nodejs应用,其中一段路由文件有这样的代码:
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等。搜索了很久,我还是不知道像:id
这样的格式。而且,这里的id
似乎没有再出现。那么,这是如何工作的呢?我试图找到一些API或文档来描述,但失败了。
如果你能帮我解决这个问题,我会很感激的。
对于Node来说,这只是一个字符串。
看起来您正在使用Express,在这种情况下,文档解释:
路由参数被命名为URL段,用于捕获URL中指定位置的值。在请求中填充捕获的值。Params对象,用路径中指定的路由参数名作为它们各自的键。
和
app.get('/users/:userId/books/:bookId', function(req, res) { res.send(req.params); });
同时,这里的id似乎不会再出现
req.params.id