Tôi nghĩ rằng bạn đang kết hợp việc sử dụng response
đối tượng với mục đích đó request
.
Đối response
tượng là để gửi phản hồi HTTP trở lại máy khách đang gọi, trong khi bạn muốn truy cập vào phần thân của request
. Xem câu trả lời này cung cấp một số hướng dẫn.
Nếu bạn đang sử dụng JSON hợp lệ và đang POST nó với Content-Type: application/json
, thì bạn có thể sử dụng bodyParser
phần mềm trung gian để phân tích phần thân yêu cầu và đặt kết quả vào request.body
tuyến đường của bạn.
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);
Kiểm tra dọc theo dòng:
$ curl -d '{"MyKey":"My Value"}' -H "Content-Type: application/json" http://127.0.0.1:3000/
{"MyKey":"My Value"}
Đã cập nhật cho Express 4+
Trình phân tích cú pháp cơ thể được tách ra thành gói npm của riêng nó sau v4, yêu cầu cài đặt riêng 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);
Cập nhật cho Express 4.16+
Bắt đầu với phiên bản 4.16.0, một express.json()
phần mềm trung gian mới đã có sẵn.
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);
request.body.MyKey