Думаю, ви пов'язуєте використання 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+
Аналізатор тіла був розділений на власний пакет npm після v4, потребує окремої установки 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);
request.body.MyKey