Mam następujący kod Node.js:
var express = require('express');
var app = express.createServer(express.logger());
app.use(express.bodyParser());
app.post('/', function(request, response) {
response.write(request.body.user);
response.end();
});
Teraz jeśli OPUBLIKUJĘ coś takiego:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
Dostaję się Someone
zgodnie z oczekiwaniami. A co, jeśli chcę uzyskać pełną treść żądania? Próbowałem to zrobić, response.write(request.body)
ale Node.js zgłasza wyjątek mówiąc, że „ pierwszy argument musi być łańcuchem lub buforem ”, a następnie przechodzi do „nieskończonej pętli” z wyjątkiem, który mówi: „ Nie można ustawić nagłówków po ich wysłaniu. ”; to również prawda, nawet gdybym to zrobił, var reqBody = request.body;
a potem pisał response.write(reqBody)
.
O co tu chodzi?
Czy mogę po prostu otrzymać surowe żądanie bez używania express.bodyParser()
?
response.write(reqBody)
; kiedy używam,response.send(reqBody)
rzeczy działają dobrze ... i tak, używamresponse.end
późniejresponse.write
.