⊗jsSpHPUSP 222 of 294 menu

Darbība ar URLSearchParams JavaScript

Kā jūs jau zināt, strādājot ar formām un GET pieprasījumiem JavaScript, rodas šāda veida virknes:

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

Dažreiz ir nepieciešams programmatiski mainīt kāda parametra vērtību no šīs virknes. Rakstīt kodu, kas to dara, nav īpaši ērti. Tāpēc JavaScript ir iebūvēta īpaša klase URLSearchParams darbam ar šādām virknēm.

Izveidosim šīs klases objektu, padodot parametrā mūsu virkni ar parametriem:

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

Apskatīsim, kādas metodes ir izveidotajam objektam.

Parametra vērtības iegūšana

Izmantojot metodi get, var iegūt parametra vērtību:

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

Mēģināsim iegūt neesoša parametra vērtību:

let res = searchParams.get('x'); console.log(res); // izvadīs null

Parametra esamības pārbaude

Izmantojot metodi has, var pārbaudīt parametra esamību. Pārbaudīsim esošu parametru:

let res = searchParams.has('a'); console.log(res); // izvadīs true

Pārbaudīsim neesošu:

let res = searchParams.has('x'); console.log(res); // izvadīs false

Pārveidošana virknē

Izmantojot metodi toString, var pārveidot mūsu objektu atpakaļ virknē:

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

Parametru maiņa

Izmantojot metodi set, var mainīt parametra vērtību:

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

Pārbaudīsim izmaiņas:

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

Parametru pievienošana

Izmantojot metodi set, var arī pievienot jaunu parametru:

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

Pārbaudīsim izmaiņas:

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

Parametru pievienošana

Izmantojot metodi append, var arī pievienot jaunu parametru:

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

Pārbaudīsim izmaiņas:

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

Mēģināsim pievienot jau esošu parametru:

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

Šajā gadījumā mūsu metode vienkārši pievienos tāda paša nosaukuma parametru beigās:

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

Tā izpaužas atšķirība starp metodēm set un append. Pirmais mainīs esošo parametru, bet otrais vienkārši pievienos tā dublikātu beigās.

Parametru dzēšana

Izmantojot metodi delete, var dzēst parametrus:

searchParams.delete('b');

Pārbaudīsim izmaiņas:

let res = searchParams.toString(); console.log(res); // izvadīs 'a=1&c=3'

Parametru atkārtošana ar ciklu

Parametrus var atkārtot ar ciklu:

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

Vairāki identiski parametri

Pieņemsim, ka mūsu virknē ir vairāki identiski parametri:

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

Izmantojot metodi getAll, var iegūt šo parametru vērtību masīvu:

let res = searchParams.getAll('a'); console.dir(res); // izvadīs [1, 2]

Praktiskie uzdevumi

Pieņemsim, ka ir dota šāda virkne ar parametriem:

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

Pievienojiet šai virknei vēl vienu parametru test3.

Izdzēsiet no šīs virknes parametru test2.

Mainiet parametru test1 uz jaunu vērtību.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt