在这里需要一些帮助,因为我很遗憾应该非常简单。无论是那个还是我都在失去理智。
好的,所以我使用express.Router()
路由我的路线我会直接解决问题:
这有效:
apiRouter.get('/api/user/:id', secureAPIPages, function(req, res, next){
userModel.findOne({'profileID':req.params.id}, function(err, user) {
if(user){
res.json({
fullname: user.fullname,
about: user.about,
birthday: user.birthday,
email: user.email,
location: user.location
});
} else {
console.log('Result does not exist');
}
});
})
所以当我在浏览器上拨打电话时: http://localhost:3000/api/user/123456
它获取“id”变量并将其放入req.params中,所以那里都很好。
现在,问题(这就是我想要的工作,上面只是测试我的API路由是否有效):
apiRouter.get('/api/user', secureAPIPages, function(req, res, next){
userModel.findOne({'profileID':req.params.id}, function(err, user) {
if(user){
res.json({
fullname: user.fullname,
about: user.about,
birthday: user.birthday,
email: user.email,
location: user.location
});
} else {
console.log('Result does not exist');
}
});
})
为什么在浏览器上运行此URL时,它不会获取我的“id”和“name”变量: http://localhost:3000/api/user?id=123456789&name=Shayan
一如既往,感谢您的帮助。
砂眼
答案 0 :(得分:2)
您应该使用查询对象,如下所示:
如果这是网址:
http://localhost:3000/api/user?id=123456789&name=Shayan
使用
req.query.id, req.query.name