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 responsetượ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 bodyParserphầ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.bodytuyế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