ฉันมีรหัส 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 เกิดข้อยกเว้นว่า " อาร์กิวเมนต์แรกต้องเป็นสตริงหรือบัฟเฟอร์ " จากนั้นไปที่ "infinite loop" โดยมีข้อยกเว้นที่ระบุว่า " ไม่สามารถตั้งค่าส่วนหัวได้หลังจากถูกส่ง "; นี้แม้จะยังเป็นความจริงถ้าฉันไม่แล้วเขียนvar reqBody = request.body;
response.write(reqBody)
มีปัญหาอะไรที่นี่
นอกจากนี้ฉันสามารถรับคำขอแบบดิบโดยexpress.bodyParser()
ไม่ใช้ได้หรือไม่
response.write(reqBody)
; เมื่อฉันใช้response.send(reqBody)
สิ่งที่มีการปรับการทำงาน ... และใช่ฉันใช้หลังจากresponse.end
response.write