Vì vậy, tôi có đoạn mã sau trong tệp server.js của mình mà tôi đang chạy với node.js. Tôi đang sử dụng Express để xử lý các yêu cầu HTTP.Bài đăng re.j.body rỗng trống
app.post('/api/destinations', function (req, res) {
var new_destination = req.body;
console.log(req.body);
console.log(req.headers);
db.Destination.create(new_destination, function(err, destination){
if (err){
res.send("Error: "+err);
}
res.json(destination);
});
});
Tôi đang chạy sau trong Terminal:
curl -XPOST -H "Content-Type: application/json" -d '{"location": "New York","haveBeen": true,"rating": 4}' http://localhost:3000/api/destinations
Sau khi chạy mà in server.js ra như sau.
{}
{ host: 'localhost:3000',
'user-agent': 'curl/7.43.0',
accept: '*/*',
'content-type': 'application/json',
'content-length': '53' }
Vì vậy, req.body là {}
. Tôi đọc các bài đăng khác về Stack Overflow về các vấn đề tương tự khi loại nội dung không chính xác do trình phân tích cú pháp nội dung. Nhưng đó không phải là vấn đề vì loại nội dung là ứng dụng/json.
Bất kỳ ý tưởng nào về cách lấy nội dung thực tế của yêu cầu?
Xin cảm ơn trước.
Bạn sử dụng phần mềm trung gian phân tích cú pháp nội dung, phải không? – Cristy
Và nếu bạn là: làm thế nào, chính xác? – robertklep
Tôi đang sử dụng trình phân tích cú pháp nội dung. Về cơ bản chỉ cần yêu cầu nó sau đó "app.use (bodyParser.urlencoded ({extended: true}));" không có dấu ngoặc kép. –