节点中发布数据的索引

时间:2014-07-20 18:26:17

标签: html node.js express

我有一个像这样的简单HTML文件:

<form method="post" action="http://localhost:3000/post">
   <input name="name" type="text"/><br />
   <input name="last_name" type="text"/><br />
   <button id="submit" type="submit">Submit</button>
</form>

我使用此节点(快速)代码接收帖子数据:

app.route('/post')
.post(function(req, res, next) {
    res.send(req.body.name);
});

例如输入此内容:

  

Richard Stallman

我收到这样的话:

  

[ “理查德”, “斯托尔曼”]

但我需要他们这样:

{ name : "Richard" ,last_name : "Stallman" }

或类似的东西。

我该如何解决?

2 个答案:

答案 0 :(得分:1)

我必须使用req.body而不是req.body.name,它会给我每个索引及其值。就像一个json文件。

答案 1 :(得分:0)

在Express中获取发布数据的正确方法是使用express body parser

这将为您提供一个对象,其中的键与您指定的表单字段匹配(如您所愿)。

您可能需要application/x-www-form-urlencoded解析器。

app.use(bodyParser.urlencoded({ extended: false }))

如果您使用GET作为表单上的方法,则可以使用req.query直接将对象拉出快递,而无需任何额外的中间件。

因此,如果表单发送以下请求:

www.mysite.com/input?name=richard&last_name=stallman

您的req.query将为{name: 'richard', last_name: 'stallman'}

相关问题