Rumah  >  Artikel  >  hujung hadapan web  >  nodejs mendapat halaman lompat pos

nodejs mendapat halaman lompat pos

WBOY
WBOYasal
2023-05-28 09:54:07671semak imbas

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 prinsip permintaan POST dan lompat halaman
  2. Gunakan Node.js untuk mendapatkan data permintaan POST
  3. Proses data permintaan POST dan lompat ke halaman yang ditentukan
  4. Contoh tunjuk cara

1. Fahami permintaan POST dan melompat Prinsip halaman

  1. Permintaan POST

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.

  1. Lompat halaman

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:

  1. Buat pembolehubah dalam fungsi panggil balik untuk menyimpan kandungan permintaan pos

    let postData = '';
  2. 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 .

  3. 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:

  1. Perkenalkan http dan modul rentetan pertanyaan Node.js

    const http = require('http');
    const querystring = require('querystring');
  2. 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.

  3. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn