0

I'm working with node.js express and mongodb, I have a input data from client, I need to pass the data to server look for its property and send to the client in another page.

Now I have problem with req.body.age that suppossed to get the data from client's input and use find() to get its appropriate property.

Server side code:

functions are routed in another .js file

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'}} just hardcode picking up user with age 7 (works)

client side code (jade):

page for data input:

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/\'')

page for data output with its property:

user.jade

        tr
            th Name
            th Age
    tbody
    - members.forEach(function(member){
        tr
            td= member['name']
            td= member['desc']
     - });
4

1 に答える 1

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")
于 2012-08-03T11:17:36.310 に答える