У меня есть следующий код 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();
});
Теперь, если я отправлю что-то вроде:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
Я получаю Someone
, как и ожидалось. А что, если я хочу получить полное тело запроса? Я пытался выполнить response.write(request.body)
, но Node.js выдает исключение, говорящее: «первый аргумент должен быть строкой или буфером », затем переходит в «бесконечный цикл» с исключением, которое говорит: «Не могу установить заголовки после их отправки."; это также верно, даже если бы я сделал var reqBody = request.body;
, а затем написал response.write(reqBody)
.
В чем проблема?
Кроме того, могу ли я просто получить необработанный запрос без использования express.bodyParser()
?