我认为您正在将
response对象的使用与的使用混为一谈
request。
该
response对象用于将HTTP响应发送回调用方客户端,而您想访问的正文
request。请参阅此答案,它提供了一些指导。
如果您使用的是有效的JSON并通过进行发布
Content-Type:application/json,则可以使用
bodyParser中间件解析请求正文并将结果放入
request.body路由中。
var express = require('express') , app = express.createServer();app.use(express.bodyParser());app.post('/', function(request, response){ console.log(request.body); // your JSON response.send(request.body); // echo the result back});app.listen(3000);按照以下方式进行测试:
$ curl -d '{"MyKey":"My Value"}' -H "Content-Type: application/json" http://127.0.0.1:3000/{"MyKey":"My Value"}已针对Express 4+更新
v4之后,正文解析器被拆分成自己的npm软件包,需要单独安装
npm install body-parser
var express = require('express') , bodyParser = require('body-parser');var app = express();app.use(bodyParser.json());app.post('/', function(request, response){ console.log(request.body); // your JSON response.send(request.body); // echo the result back});app.listen(3000);Express 4.16+的更新
从4.16.0版本开始,可以使用新的
express.json()中间件。
var express = require('express');var app = express();app.use(express.json());app.post('/', function(request, response){ console.log(request.body); // your JSON response.send(request.body); // echo the result back});app.listen(3000);


