我正在使用node.js express和mongodb,我有来自客户端的输入数据,我需要将数据传递给服务器查找其属性并发送到另一页面的客户端。
现在我遇到了req.body.age
的问题,它假定从客户端的输入中获取数据并使用find()
来获取其相应的属性。
服务器端代码:
函数在另一个.js文件中路由
exports.find_user = function(req, res) {
res.render('find_user.jade');
};
exports.user = function(req, res){
member = new memberModel();
member.desc.age = req.body.age; //problem
console.log(req.body.age); //undefined
memberModel.find({desc: {age: '7'}}, function(err, docs){
res.render('user.jade', { members: docs });
console.log(docs);
});
};
memberModel.find({desc: {age: '7'}}
只需硬盘代码即可获得7岁(工作)的用户
客户端代码(jade):
数据输入页面:
find_user.jade
form(action='/', method='post')
fieldset
lable(for="age") Find user by age:
input(type="text", size="30", name="age", required="required")
input(type='button', value='Find', onclick='location.href=\'find_user/user/\'')
数据输出页面及其属性:
user.jade
tr
th Name
th Age
tbody
- members.forEach(function(member){
tr
td= member['name']
td= member['desc']
- });
答案 0 :(得分:0)
当用户单击按钮时,您没有在find_user.jade文件中提交数据。相反,客户端仅重定向到另一个页面。
这就是你的find_user.jade文件的样子:
form(action='find_user/user/', method='post')
fieldset
label(for="age") Find user by age:
input(type="text", size="30", name="age", required="required")
input(type='submit', value='Find', name="submit")