Rumah  >  Artikel  >  hujung hadapan web  >  Cara mengendalikan permintaan POST dan mendapatkan parameter permintaan dalam Node.js

Cara mengendalikan permintaan POST dan mendapatkan parameter permintaan dalam Node.js

PHPz
PHPzasal
2023-04-07 09:28:111572semak imbas

Dengan pembangunan aplikasi web yang berterusan, pengguna mempunyai lebih banyak keperluan untuk interaksi data. Antaranya, penggunaan permintaan POST semakin ketara. Apabila mengendalikan permintaan POST dalam Node.js, kami biasanya perlu mendapatkan dan menghuraikan data yang dihantar oleh pelanggan. Artikel ini akan memperkenalkan cara mengendalikan permintaan POST dan mendapatkan parameter permintaan dalam Node.js.

Terima permintaan POST

Dalam Node.js, kita boleh menggunakan modul http untuk mencipta pelayan web dan mendengar permintaan. Mari lihat kod ringkas di bawah:

const http = require('http');

http.createServer(function(request, response) {

    // 处理请求

}).listen(3000);

Dalam kod ini, kami mencipta pelayan Web dan mendengar port 3000. Setiap kali permintaan dihantar, pelayan akan memanggil fungsi yang kami hantar dengan permintaan sebagai parameter dan menjana objek tindak balas untuk respons.

Nota: Kod di atas tidak akan memproses permintaan POST, tetapi ia menyediakan rangka kerja asas untuk memantau permintaan dan bertindak balas, yang boleh digunakan sebagai asas untuk menerima permintaan POST.

Dapatkan parameter permintaan POST

Apabila pelanggan menghantar permintaan POST, kami boleh mendapatkan parameter permintaan dalam dua cara berikut:

  1. Pemantauan acara

Pemantauan acara ialah kaedah yang paling biasa digunakan. Kita boleh mendengar peristiwa data dan peristiwa tamat objek permintaan untuk mendapatkan parameter permintaan POST.

const http = require('http');
const querystring = require('querystring');

http.createServer(function(request, response) {

    if(request.method === 'POST') {

        let post = '';

        request.on('data', function(chunk) {
            post += chunk;
        });

        request.on('end', function() {
            post = querystring.parse(post);
            // 处理post数据
        });

    }

}).listen(3000);

Dalam kod di atas, kami menentukan sama ada permintaan itu POST dan jika ya, buat siaran pembolehubah global sebagai cache. Kemudian dengan mendengar peristiwa data objek permintaan, parameter POST dihantar ke pembolehubah pos dalam bentuk binari. Akhir sekali, dengan mendengar acara akhir objek permintaan, pembolehubah pos dihuraikan dan ditukar menjadi objek JavaScript.

Perlu diambil perhatian bahawa memandangkan data permintaan POST mungkin sangat besar, berbilang peristiwa data mungkin diperlukan untuk menghantar data sepenuhnya. Oleh itu, kami perlu menggunakan mekanisme caching untuk menyimpan data yang dipindahkan sehingga permintaan lengkap diterima dan kemudian menyerahkannya kepada pengendali kami.

  1. penghuraian rentetan pertanyaan

modul rentetan pertanyaan ialah salah satu modul terbina dalam Node.js, yang digunakan untuk memproses rentetan pertanyaan dalam URL. Modul ini menyediakan kaedah parse() untuk menukar rentetan pertanyaan kepada objek JavaScript.

const http = require('http');
const querystring = require('querystring');

http.createServer(function(request, response) {

    if(request.method === 'POST') {

        let post = '';

        request.on('data', function(chunk) {
            post += chunk;
        });

        request.on('end', function() {
            post = querystring.parse(post);
            // 处理post数据
        });

    }

}).listen(3000);

Dalam contoh ini, kami menggunakan modul rentetan pertanyaan untuk menghuraikan parameter permintaan POST dan menyimpannya dalam pembolehubah siaran.

Ringkasan

Dua kaedah di atas menggunakan pendengaran peristiwa dan penghuraian rentetan pertanyaan untuk mendapatkan parameter permintaan POST dan menukarnya menjadi objek JavaScript untuk kami proses.

Dalam aplikasi sebenar, kami boleh memilih untuk menggunakan kaedah yang berbeza untuk mengendalikan parameter permintaan POST mengikut keperluan sebenar. Jika anda perlu memproses data permintaan POST yang besar dengan cekap, mendengar acara mungkin merupakan pilihan yang lebih baik. Jika anda hanya perlu memproses beberapa permintaan bentuk mudah, kod rentetan pertanyaan akan menjadi lebih ringkas dan lebih mudah difahami.

Selepas menerima permintaan POST, kami perlu menyemak dan mengendalikan parameter permintaan dengan teliti untuk mengelakkan sebarang isu keselamatan.

Atas ialah kandungan terperinci Cara mengendalikan permintaan POST dan mendapatkan parameter permintaan dalam Node.js. 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