У меня есть следующий код 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()
?
response.write(reqBody)
; когда я используюresponse.send(reqBody)
вещи работают нормально ... и да, я используюresponse.end
послеresponse.write
.