Ich habe den folgenden Node.js-Code:
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();
});
Nun, wenn ich etwas poste wie:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
Ich bekomme Someone
wie erwartet. Was ist nun, wenn ich den vollständigen Anfragetext erhalten möchte? Ich habe es versucht, response.write(request.body)
aber Node.js löst eine Ausnahme aus, die besagt, dass "das erste Argument eine Zeichenfolge oder ein Puffer sein muss ", und wechselt dann zu einer "Endlosschleife" mit der Ausnahme, dass " Header nach dem Senden nicht festgelegt werden können ". Dies gilt auch, wenn ich es tat var reqBody = request.body;
und dann schrieb response.write(reqBody)
.
Was ist das Problem hier?
Kann ich die Rohanforderung auch nur ohne Verwendung erhalten express.bodyParser()
?
response.write(reqBody)
; Wenn ichresponse.send(reqBody)
Dinge benutze, funktionieren sie gut ... und ja, ich benutze sieresponse.end
danachresponse.write
.