Myślę, że łączysz użycie response
obiektu z tym request
.
response
Obiekt jest za wysłanie z powrotem odpowiedzi HTTP do klienta wywołującego, podczas gdy jesteś chcąc uzyskać dostęp do korpusu request
. Zobacz tę odpowiedź, która zawiera pewne wskazówki.
Jeśli używasz prawidłowego JSON i POSTINGujesz go Content-Type: application/json
, możesz użyć bodyParser
oprogramowania pośredniego do przeanalizowania treści żądania i umieszczenia wyniku na request.body
trasie.
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);
Testuj według:
$ curl -d '{"MyKey":"My Value"}' -H "Content-Type: application/json" http://127.0.0.1:3000/
{"MyKey":"My Value"}
Zaktualizowano dla Express 4+
Parser treści został podzielony na własny pakiet npm po wersji v4, wymaga osobnej instalacji 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);
Aktualizacja dla Express 4.16+
Począwszy od wersji 4.16.0 express.json()
dostępne jest nowe oprogramowanie pośrednie.
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