Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >nodejs mendapat halaman lompat pos
Dalam pembangunan web, terdapat banyak keadaan apabila kita perlu menyerahkan data borang melalui POST, dan kemudian melompat ke halaman lain selepas melakukan pemprosesan yang sepadan di latar belakang. Apabila menggunakan Node.js sebagai backend, bagaimana untuk mendapatkan data permintaan POST dan memprosesnya dengan sewajarnya?
Artikel ini akan memperkenalkan cara menggunakan Node.js untuk mendapatkan halaman lompat POST, terutamanya termasuk kandungan berikut:
1. Fahami permintaan POST dan melompat Prinsip halaman
Dalam protokol HTTP, terdapat dua kaedah permintaan biasa, iaitu GET dan POST. Permintaan GET digunakan untuk meminta sumber sedia ada (seperti melihat gambar), manakala permintaan POST digunakan untuk menyerahkan data kepada pelayan Data ini digunakan untuk mencipta atau mengubah suai sumber, seperti menyerahkan data borang.
Dalam aplikasi web, kita selalunya perlu melompat ke halaman yang berbeza. Melompat ke halaman boleh dicapai dengan menetapkan Lokasi dalam pengepala respons HTTP, contohnya:
HTTP/1.1 302 Found Location: http://www.example.com/new-page.html
Apabila penyemak imbas menerima respons ini, ia akan melompat ke halaman yang ditentukan secara automatik.
2. Gunakan Node.js untuk mendapatkan data permintaan POST
Node.js menyediakan modul HTTP yang boleh digunakan untuk mencipta pelayan web. Untuk mendapatkan data permintaan POST, acara permintaan boleh digunakan. Apabila penyemak imbas menghantar permintaan kepada pelayan, pelayan mencetuskan peristiwa permintaan dan menghantar objek permintaan dan objek respons kepada fungsi panggil balik yang sepadan. Langkah-langkah untuk mendapatkan data permintaan POST dalam acara permintaan adalah seperti berikut:
Buat pembolehubah dalam fungsi panggil balik untuk menyimpan kandungan permintaan pos
let postData = '';
Dengar peristiwa data dan cetuskan
req.on('data', chunk => { postData += chunk.toString(); });
req untuk menunjuk ke objek permintaan apabila data permintaan diterima, di mana data mewakili data yang terkandung dalam objek permintaan dan ketulan mewakili blok data yang diterima .
Dengar acara akhir, menunjukkan bahawa data diterima
req.on('end', () => { console.log(postData); });
Selepas data diterima, postData boleh diproses dengan sewajarnya.
3 Proses data permintaan POST dan lompat ke halaman yang ditentukan
Selepas mendapatkan data permintaan POST, kami perlu melakukan pemprosesan yang sepadan dan kemudian melompat ke yang ditentukan. muka surat . Langkah pelaksanaan khusus adalah seperti berikut:
Perkenalkan http dan modul rentetan pertanyaan Node.js
const http = require('http'); const querystring = require('querystring');
Proses data permintaan POST dalam permintaan acara
req.on('data', chunk => { postData += chunk.toString(); }); req.on('end', () => { const data = querystring.parse(postData); // 相应的处理逻辑 });
Selepas menerima data, anda boleh menggunakan modul rentetan pertanyaan untuk menukar postData kepada objek JavaScript untuk pemprosesan yang mudah.
Respons to jump page
res.writeHead(302, { Location: '/new-page.html' }); res.end();
Tetapkan Lokasi dalam pengepala respons ke laluan halaman yang anda ingin lompat.
4 Contoh Demonstrasi
Untuk kemudahan demonstrasi, pelayan web mudah disimulasikan di sini menggunakan modul http Node.js untuk memproses permintaan POST dan melompat Go ke halaman baharu.
const http = require('http'); const querystring = require('querystring'); const server = http.createServer((req, res) => { if(req.method === 'POST') { let postData = ''; req.on('data', chunk => { postData += chunk.toString(); }); req.on('end', () => { const data = querystring.parse(postData); console.log(data); // 响应跳转到新页面 res.writeHead(302, { Location: '/new-page.html' }); res.end(); }); } else { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(` <form method="post"> <input type="text" name="name" value=""/> <input type="submit" value="Submit"/> </form> `); res.end(); } }); server.listen(8000);
Selepas pelayan dimulakan, dengan mengakses http://localhost:8000, anda boleh melihat halaman borang mudah untuk menghantar data. Kemudian, selepas menyerahkan data borang, ia akan melompat ke halaman baharu.
Ringkasan
Melalui langkah di atas, apabila menggunakan Node.js sebagai bahagian belakang, anda boleh mendapatkan data permintaan POST dengan mudah, memproses dan melompat ke halaman yang ditentukan dengan sewajarnya. Dalam aplikasi praktikal, penyesuaian dan penambahbaikan yang sepadan boleh dibuat mengikut keperluan khusus.
Atas ialah kandungan terperinci nodejs mendapat halaman lompat pos. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!