我想知道需要什么样的内容类型req
来app.post('/',function(req,res))
支持。我正在从 HTML 表单发送数据。它必须是 JSON 格式还是可以直接从表单发送?
我已将 json 格式的数据从表单发送到服务器,但是当我访问req.body.{name attribute of inout element}
它时,会给出未定义的错误无效属性。
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
加载中间件,否则中间件不会首先处理对您的路由的请求,并且您的路由处理程序将无法使用.bodyParser
req.body