Mengakses Badan Permintaan Penuh dalam Node.js dan Permintaan POST Express
Artikel ini menangani isu mengakses badan permintaan penuh semasa membuat POST meminta menggunakan Node.js dan rangka kerja Express.
Express dan bodyParser
Kod awal yang disediakan menggunakan Express.js dan perisian tengah express.bodyParser() untuk menghuraikan badan permintaan. Walau bagaimanapun, percubaan untuk mengakses keseluruhan isi permintaan menggunakan request.body telah mengakibatkan ralat.
Express v4.16 dan Beyond
Bermula dari Express v4.16, express.bodyParser() middleware tidak lagi diperlukan. Sebaliknya, pembangun boleh terus menggunakan perisian tengah JSON terbina dalam, express.json().
Dengan menambahkan app.use(express.json()) pada kod, badan permintaan akan dihuraikan secara automatik dan boleh diakses sebagai req.body dalam pengendali permintaan. Ingat untuk menetapkan pengepala Jenis Kandungan yang sesuai dalam permintaan klien, seperti Content-Type: application/json.
Raw Request Body
Untuk mengakses permintaan mentah badan tanpa menggunakan perisian tengah Express, pembangun boleh menggunakan kaedah req.get('content-type') dan req.rawBody Node.js.
Contohnya:
app.post('/', function(req, res) { if (req.get('content-type') === 'application/json') { // Get the raw JSON body req.rawBody = ''; req.on('data', (chunk) => { req.rawBody += chunk; }); req.on('end', () => { // Do something with req.rawBody }); } });
Dengan cara ini, badan permintaan mentah boleh diakses terus dan dimanipulasi.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Badan Permintaan Penuh dalam Node.js dan Permintaan POST Express?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!