【发布时间】:2021-05-13 17:49:21
【问题描述】:
所以,我有一个显示用户列表的页面,我想让每个用户链接到一个仅显示该特定用户详细信息的页面。我对这一切都很陌生,所以我不确定从哪里开始,但我想我想要的是链接更改以包含与用户关联的特定用户 ID,然后我可以在后端解析该 url并仅向用户详细信息页面发送所需的信息。我在一个名为 usercollection btw 的 mongodb 集合中获得了所有用户信息。这是显示用户列表的 html:
<h1>User List</h1>
<ul>
<%
var list = '';
for (i = 0; i < userlist.length; i++) {
if (userlist[i].deleted==false) {
list += `<li><a href="userdetail/?uid="+${userlist[i].uid}" id="${i}"> ${userlist[i].username} </a></li>`;
}
}
%>
<%- list %>
</ul>
然后我在 .js 文件中有这个位,给定 uid 将返回具有正确用户信息的文档
/*GET UserDetails page.*/
router.get('/userdetails', function(req, res) {
var queryID = req.uid
var db = req.db;
var collection = db.get('usercollection');
collection.find({"uid" : queryID},{},function(e,docs){
res.render('userdetail', {
"userinfo" : docs
});
});
});
正如我的用户名所说,我现在已经超出了我的能力范围,如果有任何指导甚至是阅读材料可以提供帮助,我将不胜感激。谢谢!
【问题讨论】:
-
看起来只是想使用
req.query.uid,因为req.query对象自动包含Express中解析的查询字符串。您需要使您的 URL 与您的路由定义相匹配,因为一个当前使用/userdetail,另一个使用/userdetails。此外,在您生成的链接前面放置一个/,这样它就不是页面相关的。
标签: javascript html node.js mongodb express