在服务器和客户端之间传递数据(node.js + mongodb)

问题描述:

我正在使用node.js express和mongodb,我有一个来自客户端的输入数据,我需要将数据传递给服务器寻找它的属性并发送到另一个页面的客户端。在服务器和客户端之间传递数据(node.js + 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岁(工程)

客户端代码(玉):

数据页面

user.jade

您还没有find_user.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/\'') 

页用户点击按钮。相反,客户端只会被重定向到另一个页面。

这是你的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") 
+0

我还是得到了一个未定义当我'的console.log(req.body.age)',不能POST/find_user /用户 – nihulus 2012-08-03 11:46:58

+0

请出示那么我就是你处理路线的地方。它正在向/ find_user/user发出POST请求,而不是GET请求,所以可能是您的路由不能正确接受POST请求。 – valscion 2012-08-03 12:17:00