通过POST方法从html表单发送的nodeJS / ExpressJS访问参数

时间:2013-03-12 10:10:29

标签: node.js rest express

我想知道访问通过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中使用dbCRUD进行休息服务

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

然后我做了

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和name属性...

<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>

1 个答案:

答案 0 :(得分:0)

在代码中尝试app.use(express.bodyParser());。 bodyParser是一个快速中间件,用于解析发布请求的主体。