如何使用表单提交express.urlencoded,express.json?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (1040)

Express(或Connect的)body Parser中间件被标记为废弃,建议用户使用:

app.use(connect.urlencoded())
app.use(connect.json())  

但是,当我运行一个示例时,Node.js在行动中,表格如下:

curl -F entry[title]='Ho ho ho' -F entry[body]='santa loves you' http://abc:123@127.0.0.1:3000/api/entry

但没有用。

这样解析json:

var bodyParser = require('body-parser');

...

app.use(bodyParser.json());

以这种方式解析urlencodedbody:

app.use(bodyParser.urlencoded({extended: true}));

true(默认)使用QS模块,false使用querystring模块解析主体。

提问于
用户回答回答于

下面是一个示例,使用multiparty:

var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();
app.use('/url/that/accepts/form-data', multipartMiddleware);
app.post('/url/that/accepts/form-data', function(req, resp) {
    console.log(req.body, req.files);
});

通过使用这样的中间件,任何人都可以将文件上传到服务器:然后,可以处理(和删除)这些文件。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励