Sre*_*.Bh 12 node.js express body-parser
当我使用postman发送POST请求到localhost:8080/api/newUser with request body:
{name: "Harry Potter"}
Run Code Online (Sandbox Code Playgroud)
在服务器端,console.log(req.body)打印:
{ '{name: "Harry Potter"}': '' }
Run Code Online (Sandbox Code Playgroud)
server.js
var express = require('express');
var app = express();
var router = express.Router();
var bodyParser = require('body-parser');
app.use('/', express.static(__dirname));
router.use(function(req, res, next) {
next();
});
router
.route('/newUser')
.post(function(req, res) {
console.log(req.body);
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // support json encoded bodies
app.use('/api', router);
app.listen(8080);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
ale*_*mac 11
在express.js中,声明中间件的顺序非常重要.bodyParser中间件必须早于您自己的中间件(api端点)定义.
var express = require('express');
var app = express();
var router = express.Router();
var bodyParser = require('body-parser');
app.use('/', express.static(__dirname));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // support json encoded bodies
router
.route('/newUser')
.post(function(req, res) {
console.log(req.body);
});
app.use('/api', router);
app.listen(8080);
Run Code Online (Sandbox Code Playgroud)
'Content-Type':'application/json'
Run Code Online (Sandbox Code Playgroud)
这样bodyParser就可以解析身体了.
*这对我有用.我使用角度2+与快递(身体解析器)
| 归档时间: |
|
| 查看次数: |
8067 次 |
| 最近记录: |