Express body-parser:req.body返回空对象

时间:2017-10-27 19:00:33

标签: javascript node.js express body-parser

我有一个简单的Express服务器,它使用body-parser模块来访问POST参数。该应用程序如下所示:

/index.js:

'use strict';

const express = require('express');
const app = express();
const apiRouter = require('./api/routes.js');


// Set our port for the server application
const port = process.env.PORT || 8080;


// Register the routes for the /api prefix
app.use('/api', apiRouter);


// Start server
app.listen(port);
console.log('The server is running on port ' + port);

/api/routes.js:

'use strict';

const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');

// Configure app to use bodyParser(). This will let us get the data from a POST
router.use(bodyParser.urlencoded({ extended: true }));
router.use(bodyParser.json());


// START ROUTES

router.post('/devices', (req, res) => {
  console.log(req.body); // Returns {}
  res.json(req.body);
});

module.exports = router;

问题是req.body对象为空(始终返回空对象{})。由于我已经加载了body-parser中间件,我不知道还能尝试什么。我希望你有任何建议。

1 个答案:

答案 0 :(得分:0)

我使用应用邮递员进行测试。它似乎将POST数据发送为form-data而不是x-www-form-urlencoded。更改此设置后,数据显示出来。