2

我想知道需要什么样的内容类型reqapp.post('/',function(req,res))支持。我正在从 HTML 表单发送数据。它必须是 JSON 格式还是可以直接从表单发送?

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

4

1 回答 1

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

您需要确保在路由之前bodyParser加载中间件,否则中间件不会首先处理对您的路由的请求,并且您的路由处理程序将无法使用.bodyParserreq.body

于 2013-03-12T15:10:52.013 回答