⊗jsSpHPUSP 222 of 294 menu

Penggunaan URLSearchParams dalam JavaScript

Seperti yang anda sudah ketahui, apabila bekerja dengan borang dan permintaan GET dalam JavaScript, terhasilnya rentetan seperti berikut:

let paramsString = 'a=1&b=2&c=3';

Kadangkala kita perlu mengubah nilai satu parameter tertentu dalam rentetan tersebut secara pengaturcaraan. Menulis kod untuk melakukannya adalah tidak begitu mudah. Oleh itu, JavaScript mempunyai kelas khas URLSearchParams untuk bekerja dengan rentetan seperti ini.

Mari kita cipta objek kelas ini dengan menghantar rentetan parameter kita sebagai parameter:

let paramsString = 'a=1&b=2&c=3'; let searchParams = new URLSearchParams(paramsString);

Mari kita lihat kaedah-kaedah yang ada pada objek yang dicipta.

Mendapat nilai parameter

Dengan menggunakan kaedah get, kita boleh mendapatkan nilai parameter:

let res = searchParams.get('a'); console.log(res);

Mari cuba dapatkan nilai parameter yang tidak wujud:

let res = searchParams.get('x'); console.log(res); // akan memaparkan null

Menyemak kewujudan parameter

Dengan menggunakan kaedah has, kita boleh menyemak kewujudan parameter. Mari semak parameter yang wujud:

let res = searchParams.has('a'); console.log(res); // akan memaparkan true

Mari semak parameter yang tidak wujud:

let res = searchParams.has('x'); console.log(res); // akan memaparkan false

Menukar kepada rentetan

Dengan menggunakan kaedah toString, kita boleh menukar objek kita kembali kepada rentetan:

let res = searchParams.toString(); console.log(res); // akan memaparkan 'a=1&b=2&c=3'

Mengubah parameter

Dengan menggunakan kaedah set, kita boleh mengubah nilai parameter:

searchParams.set('b', 'x');

Mari semak perubahan:

let res = searchParams.toString(); console.log(res); // akan memaparkan 'a=1&b=x&c=3'

Menambah parameter

Dengan menggunakan kaedah set, kita juga boleh menambah parameter baru:

searchParams.set('d', '4');

Mari semak perubahan:

let res = searchParams.toString(); console.log(res); // akan memaparkan 'a=1&b=2&c=3&d=4'

Menambah parameter

Dengan menggunakan kaedah append, kita juga boleh menambah parameter baru:

searchParams.append('d', '4');

Mari semak perubahan:

let res = searchParams.toString(); console.log(res); // akan memaparkan 'a=1&b=2&c=3&d=4'

Mari cuba tambah parameter yang sudah wujud:

searchParams.append('a', '4');

Dalam kes ini, kaedah kita hanya akan menambah parameter yang sama nama pada akhir:

let res = searchParams.toString(); console.log(res); // akan memaparkan 'a=1&b=2&c=3&a=4'

Di sinilah perbezaan antara kaedah set dan append. Yang pertama akan mengubah parameter yang wujud, manakala yang kedua hanya akan menambah salinannya pada akhir.

Memadam parameter

Dengan menggunakan kaedah delete, kita boleh memadam parameter:

searchParams.delete('b');

Mari semak perubahan:

let res = searchParams.toString(); console.log(res); // akan memaparkan 'a=1&c=3'

Mengulangi parameter dengan gelung

Parameter boleh diulangi dengan gelung:

for (let p of searchParams) { console.log(p); }

Beberapa parameter yang sama

Katakan dalam rentetan kita terdapat beberapa parameter yang sama:

let paramsString = 'a=1&a=2&b=2&c=3';

Dengan menggunakan kaedah getAll, kita boleh mendapat tatasusunan nilai parameter-parameter ini:

let res = searchParams.getAll('a'); console.dir(res); // akan memaparkan [1, 2]

Tugas-tugas praktikal

Katakan diberikan rentetan parameter berikut:

let paramsString = 'test1=param1&test2=param2&test3=param3';

Tambahkan satu lagi parameter test3 ke dalam rentetan ini.

Padam parameter test2 dari rentetan ini.

Ubah parameter test1 kepada nilai baru.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak