Apabila bekerja dengan borang, mengakses medan borang POST dalam Express boleh menjadi proses yang mudah. Walau bagaimanapun, perubahan halus dalam versi Express telah memperkenalkan beberapa variasi dalam pendekatan.
Bermula dengan Express 4.16.0, mengakses medan borang POST telah dipermudahkan dengan pengenalan daripada express.json() dan express.urlencoded. Fungsi middleware ini menghuraikan JSON dan badan berkod URL, masing-masing.
Untuk menggunakan pendekatan ini, pasang express:
$ npm install express
dan masukkan perisian tengah berikut dalam aplikasi Express anda:
app.use(express.json()); // to support JSON-encoded bodies app.use(express.urlencoded()); // to support URL-encoded bodies
Setelah perisian tengah ini tersedia, anda boleh mengakses medan borang POST menggunakan req.body objek:
// assuming POST: name=foo&color=red <-- URL encoding // // or POST: {"name":"foo","color":"red"} <-- JSON encoding app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
Sebelum Express 4.16.0, pengendalian medan borang POST melibatkan pemasangan pakej penghurai badan dan menggunakan perisian tengahnya.
$ npm install --save body-parser
Dalam aplikasi Ekspres anda, sertakan yang berikut baris:
var bodyParser = require('body-parser') app.use( bodyParser.json() ); // to support JSON-encoded bodies app.use(bodyParser.urlencoded({ // to support URL-encoded bodies extended: true }));
Dengan konfigurasi ini, mengakses medan borang POST adalah serupa dengan pendekatan dalam Express 4.16.0:
app.post('/test-page', function(req, res) { var name = req.body.name, color = req.body.color; // ... });
Nota: Penggunaan express.bodyParser() ialah tidak disyorkan dan bersamaan dengan penggunaan gabungan express.json(), express.urlencoded(), dan express.multipart(). Elakkan express.bodyParser() melainkan anda secara khusus memerlukan sokongan pengekodan berbilang bahagian, yang disertakan dengan kebimbangan keselamatan. Untuk pengekodan berbilang bahagian, rujuk dokumentasi Express.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengakses Medan Borang POST dalam Express.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!