expressJS的请求体类型

时间:2013-03-12 15:04:43

标签: node.js express

我想知道在req支持中请求app.post('/',function(req,res))的内容类型是什么类型。我从HTML表单发送数据。它应该是JSON格式还是可以直接从表单发送?

我已经将json格式的数据从表单发送到服务器,但是当我访问req.body.{name attribute of inout element}时,它会给出undefined的错误无效属性。

1 个答案:

答案 0 :(得分:2)

Express支持这两种格式。但是,在它可以工作之前,您需要使用bodyParser中间件,否则将不会填充req.body

app.use(express.bodyParser());

这是一个最小的应用程序,接受发布到它的表单和json数据:

var express = require('express');
var app     = express();

app.use(express.bodyParser());
app.post('/submit', function(req, res) {
  res.send('You submitted: ' + JSON.stringify(req.body));
});

app.listen(3012);

您需要确保在路由前加载<{1}}中间件,否则bodyParser中间件首先会处理您的路由请求和您的路由-handler将无法使用bodyParser