从的NodeJS/ExpressJS访问参数通过POST方法从HTML形式发送

问题描述:

我想知道的命令,通过POST方法从HTML发送的接入参数表格从的NodeJS/ExpressJS访问参数通过POST方法从HTML形式发送

我已经尝试了所有这些,但他们打印undefined或发回error ...

编辑1:忘了提,我也加入了这个server.use(express.bodyParser());

编辑2:

var express = require('express'), 
server = express(), 
client = require('mysql').createConnection({ host:'localhost', user:'root', password:'password' }); 

在MySQL

var dbcrud = require('dbcrud').init(client, 'contacts', model); 

然后使用dbCRUD休息服务我做了

server.use(express.bodyParser()); 

后的功能在这里进行..

server.post('/families',function(req,res){ 
    console.log(req.id); 
    console.log("1: " + req.param.id); 
    console.log("2: " + req.params.id); 
    console.log("3: " + req.param("id")); 
    console.log("4: " + req.params('id')); 
    console.log("5: " + req.params[0]); 
    console.log("6: " + req.body.name); 
    console.log("7: " + req.body.notes); 
    console.log("8: " + req.body.id); 
    //console.log("5: " + req.params[0]); 
    res.send('Hello POST : families'); 
}); 

我添加路由这里...

dbcrud.addRoutes(server); 

在HTML表单我指定的ID和输入的标签名称属性...

<form method="post" action="http://10.180.218.72:3000/families"> 
    id : <input type="number" id="id" name="id"></input> 
    name : <input type="text" id="name" name="name"></input> 
    notes : <input type="text" id="notes" name="notes"></input> 
      <input type="submit" value = "submit" ></input> 
</form> 
+0

你能发布更多的代码吗?或者至少订购中间件,路由和app.listen出现在你的代码中? – soulcheck 2013-03-12 10:58:37

+0

编辑,请看看 – 2013-03-12 11:09:11

尝试app.use(express.bodyParser());在你的代码。 bodyParser是解析post请求体的快速中间件。

+0

编辑的问题..我已经有了代码 – 2013-03-12 10:46:59

+0

也添加enctype =“application/x-www-form-urlencoded”到您的表单html代码 – MrPovod 2013-03-12 10:54:43

+0

补充说,不工作仍然.. – 2013-03-12 11:02:25