Node.js ialah sumber terbuka, persekitaran masa jalan JavaScript merentas platform, terutamanya digunakan untuk pembangunan bahagian pelayan Ia menyediakan banyak API dan perpustakaan yang berguna untuk memudahkan pembangun membangunkan aplikasi web yang cekap.
Dalam proses pembangunan aplikasi web, kita selalunya perlu mendapatkan data permintaan yang dihantar oleh pelanggan, seperti data borang, data JSON, dsb. Artikel ini akan memperkenalkan kaedah dan langkah berjaga-jaga untuk mendapatkan badan permintaan dalam Node.js.
1. Bagaimana untuk mendapatkan badan permintaan
Dalam Node.js, kita boleh menggunakan modul http untuk mencipta Pelayan HTTP , dan dengar permintaan HTTP. Apabila pelanggan menghantar permintaan HTTP, kami boleh mendapatkan badan permintaan dengan mendengar acara permintaan. Contohnya:
const http = require('http'); const server = http.createServer((req, res) => { let body = ''; req.on('data', chunk => { body += chunk; }); req.on('end', () => { console.log(body); }); res.end('Hello World'); }); server.listen(3000, () => { console.log('Server started at http://localhost:3000'); });
Dalam kod di atas, kami memperoleh data permintaan dengan mendengar acara permintaan dan mencetak badan permintaan di penghujung permintaan. Perlu diingatkan bahawa kita perlu menyatukan badan permintaan untuk mendapatkan badan permintaan yang lengkap. Pada masa yang sama, kita juga perlu menetapkan pengepala respons dan badan tindak balas, jika tidak, pelanggan akan sentiasa dalam keadaan menunggu.
Express ialah rangka kerja aplikasi web berasaskan Node.js yang menyediakan banyak API dan perisian tengah yang berguna. Menggunakan Express boleh menjadikan kod kami lebih ringkas, lebih mudah dibaca dan lebih mudah diselenggara. Dalam Express, kita boleh menggunakan middleware body-parser untuk mendapatkan badan permintaan. Contohnya:
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.post('/', (req, res) => { console.log(req.body); res.send('Hello World'); }); app.listen(3000, () => { console.log('Server started at http://localhost:3000'); });
Dalam kod di atas, kami menggunakan middleware penghurai badan untuk menghuraikan kandungan permintaan dan mengakses kandungan permintaan melalui req.body. Perlu diingat bahawa sebelum menggunakan middleware body-parser, kita perlu mendaftarkannya dengan aplikasi menggunakan kaedah app.use().
2. Nota
Apabila mendapatkan badan permintaan, anda perlu memberi perhatian kepada saiz badan permintaan . Jika badan permintaan terlalu besar, ia boleh menyebabkan pelayan ranap atau memperlahankan masa respons. Untuk mengelakkan perkara ini berlaku, adalah disyorkan untuk mengehadkan saiz badan permintaan atau memprosesnya dalam ketulan.
Apabila mendapatkan badan permintaan, anda perlu memberi perhatian kepada jenis badan permintaan. Jika isi permintaan ialah data dalam format JSON, anda boleh menggunakan kaedah json() bagi middleware body-parser untuk menghuraikannya jika ia adalah data bentuk, anda boleh menggunakan kaedah urlencoded() bagi middleware body-parser untuk menghuraikan; ia.
Dalam pembangunan aplikasi web, mungkin terdapat permintaan merentas domain. Jika pelayan anda perlu mengendalikan permintaan merentas domain, disyorkan untuk menggunakan perisian tengah cors untuk menyelesaikan masalah merentas domain.
Apabila mendapatkan badan permintaan, sila beri perhatian kepada isu keselamatan. Jangan percaya data yang diserahkan oleh pelanggan, sahkan dan tapis parameter permintaan tepat pada masanya dan cegah isu keselamatan seperti suntikan SQL dan serangan XSS.
Ringkasnya, mendapatkan badan permintaan dalam Node.js adalah langkah yang sangat penting Kita perlu memilih kaedah dan perisian tengah yang sesuai untuk mendapatkan dan memproses badan permintaan mengikut senario dan keperluan aplikasi tertentu. Pada masa yang sama, kami juga perlu memberi perhatian kepada isu seperti keselamatan, kecekapan, dan kebolehselenggaraan untuk memastikan kestabilan dan kebolehpercayaan aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan badan permintaan dalam nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!