我想知道在req
支持中请求app.post('/',function(req,res))
的内容类型是什么类型。我从HTML表单发送数据。它应该是JSON格式还是可以直接从表单发送?
我已经将json格式的数据从表单发送到服务器,但是当我访问req.body.{name attribute of inout element}
时,它会给出undefined的错误无效属性。
答案 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
。