Tôi làm cách nào để có quyền truy cập vào dữ liệu POST trong yêu cầu, nếu express bodyParser
không kích hoạt?Làm cách nào để phân tích cú pháp yêu cầu HTTP với loại nội dung bị thiếu trong Express/NodeJs, bằng cách giả định loại nội dung mặc định?
var server = express();
server.use(express.bodyParser());
server.post('/api/v1', function(req, resp) {
var body = req.body;
//if request header does not contain 'Content-Type: application/json'
//express bodyParser does not parse the body body is undefined
var out = {
'echo': body
};
resp.contentType('application/json');
resp.send(200, JSON.stringify(out));
});
Lưu ý: trong ExpressJs 3.x + req.body
là không tự động có sẵn, và đòi hỏi bodyParser
để kích hoạt.
Nếu tiêu đề loại nội dung không được đặt, bạn có thể chỉ định loại nội dung mặc định là application/json
và kích hoạt bodyParser
không?
Nếu không, có thể truy cập dữ liệu POST bằng cách sử dụng cách nút trần từ bên trong hàm POST nhanh này không?
(ví dụ req.on('data', function...
)
chỉ sử dụng 'req.on ('data')' hoặc 'req.headers ['content-type'] = req.headers ['content-type'] || 'application/json'' trước trình phân tích cú pháp cơ thể, nhưng thực sự đây là lỗi máy khách. –
@JonathanOng cảm ơn. Vâng, tôi biết rằng đây là lỗi của khách hàng - chỉ cố gắng khắc phục nó. Làm thế nào tôi sẽ đi về làm một cái gì đó trước khi phân tích cú pháp cơ thể đá vào? AFAICT, nó đã được kích hoạt khi chức năng gọi lại PUT nhanh được nhập vào. – bguiz