从expressJS中的POST方法获取值

时间:2011-10-11 13:59:00

标签: javascript express

我正在尝试在我的应用程序中注册用户。这是HTML代码:

<form id="registration_form" action="register" onsubmit="return validateForm();" method="post">
        Username: <input type="text" id="username" name="user[name]" /><br />
        Password: <input type="password" id="password" name="user[pass]" /><br />
        Repeat Password: <input type="password" id="password_repeat" name="user[pass]" /><br />
        Email: <input type="text" id="email" name="user[email]" /><br />
        <button type="submit" value="Register">Register</button>
        <div id="error_registration" style="color: red;">
        </div>
    </form>

我在服务器中所做的是获取姓名,通过和发送电子邮件的值。

var express = require('express')
  , app = express.createServer(
    express.logger(),
        express.cookieParser(),
        express.session({ secret: 'keyboard cat' })
    )
  , io = require('socket.io').listen(app)
  , mongoose = require('mongoose')
  , schemas = require('./schemas')
  , Schema   = mongoose.Schema;

app.listen(80);
app.configure(function(){
    app.use(express.bodyParser());
});

[...]

app.post('/register', function (req, res) {
    registerUser(req, function(result){
         //do something
         var username = req.body.username;
    });
});

我的问题是:为什么用户名始终未定义?我是以错误的方式阅读的吗?那我该怎么办?

由于

1 个答案:

答案 0 :(得分:2)

您的变量是用户而不是用户名。

查找

..输入类型=&#34;文字&#34; ID =&#34;用户名&#34;名称=&#34;的用户 [名称]&#34; ..

您也可以随时使用console.log(req.body)查看终端中的POST变量。