发送请求作为表单数据发送时未定义

时间:2016-12-22 07:04:34

标签: javascript node.js http express

我已经设置了快速应用程序。

我已经定义了我的路线,

var ctrlLocations = require('../controllers/locations');
router.post('/locations', ctrlLocations.locationsCreate);
module.exports = router;

这是locations.js文件,

module.exports.locationsCreate = function(req, res){
    console.log(req.body.name);
}

当我使用Postman发送帖子请求时,如果我将身体作为x-www-form-urlencoded发送,一切正常,我看到了'name',因为我已经定义了它。

但是,当我将帖子请求作为form-data发送给body时,我得到'undefined'

是的,我正在使用正文解析器

var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));

1 个答案:

答案 0 :(得分:1)

如果您要发送multipart / form-data,则必须使用支持Content-Type的中间件。 body-parser不支持此功能。您应该使用类似multer的模块来支持多部分/表单数据。