我正在使用 MEAN 堆栈。我将用户 ID 作为 URL 发送。
<div>
<% users.forEach( function( user ){ %>
<li><a href=""><%= user.username %></a></li>
<li><a href="updateEmployee/<%= user._id %>"><%= user.id %></a></li>
<% }); %>
</div>
我想获取此用户 ID 作为路由中的参数,并查询具有该 ID 的用户的详细信息。
I tried this as following
router.get('/updateEmployee/:ID', function (req, res) {
User.findOne({_id: req.ID}, function ( err, users, count ){
res.render( 'viewUser', {
users : users
});
});
});
How I display in ejs
<li><a href="/AdminDatabase/viewUser"><%= users.username %></a></li>
<li><a href="/AdminDatabase/viewUser"><%= users.id %></a></li>
我提到了https://scotch.io/tutorials/use-expressjs-to-get-url-and-post-parameters编写这段代码。
但我收到一条错误消息:无法读取 null 的属性“用户名”
我这样做的方式正确吗?如果是的话我的错误是什么?或者我怎样才能用其他方法做到这一点?
最佳答案
您应该在 Mongoose findOne 函数中使用 _id:req.params.ID,而不是使用 _id:req.ID
关于node.js - 如何在node js中获取浏览器中的url作为参数传给后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41488683/