Tôi có mã Node.js sau:
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();
});
Bây giờ nếu tôi gửi một cái gì đó như:
curl -d user=Someone -H Accept:application/json --url http://localhost:5000
Tôi nhận được Someone
như mong đợi. Bây giờ, nếu tôi muốn có được cơ thể yêu cầu đầy đủ thì sao? Tôi đã thử làm response.write(request.body)
nhưng Node.js đưa ra một ngoại lệ nói rằng " đối số đầu tiên phải là một chuỗi hoặc Bộ đệm " sau đó chuyển đến "vòng lặp vô hạn" với một ngoại lệ có nội dung " Không thể đặt tiêu đề sau khi chúng được gửi. "; Điều này cũng đúng ngay cả khi tôi đã làm var reqBody = request.body;
và sau đó viết response.write(reqBody)
.
Vấn đề ở đây là gì?
Ngoài ra, tôi chỉ có thể nhận được yêu cầu thô mà không cần sử dụng express.bodyParser()
?
response.write(reqBody)
; Khi tôi sử dụngresponse.send(reqBody)
mọi thứ đang hoạt động tốt ... và vâng, tôi sử dụngresponse.end
sauresponse.write
.