⊗jsSpHPUSP 222 of 294 menu

Delo z URLSearchParams v JavaScript

Kot že veste, pri delu s formulari in GET zahtevki v JavaScript nastanejo nizi takšne oblike:

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

Včasih je potrebno programsko spremeniti vrednost določenega parametra iz tega niza. Pisanje kode, ki to počne, ni zelo priročno. Zato je v JavaScript vgrajen poseben razred URLSearchParams za delo s takšnimi nizi.

Ustvarimo objekt tega razreda tako, da podamo parameter naš niz s parametri:

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

Oglejmo si, katere metode ima ustvarjeni objekt.

Pridobivanje vrednosti parametra

Z metodo get lahko pridobimo vrednost parametra:

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

Poskusimo pridobiti vrednost neobstoječega parametra:

let res = searchParams.get('x'); console.log(res); // izpiše null

Preverjanje prisotnosti parametra

Z metodo has lahko preverimo prisotnost parametra. Preverimo obstoječi parameter:

let res = searchParams.has('a'); console.log(res); // izpiše true

Preverimo neobstoječi:

let res = searchParams.has('x'); console.log(res); // izpiše false

Pretvorba v niz

Z metodo toString lahko pretvorimo naš objekt nazaj v niz:

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

Spreminjanje parametrov

Z metodo set lahko spremenimo vrednost parametra:

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

Preverimo spremembe:

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

Dodajanje parametrov

Z metodo set lahko tudi dodamo nov parameter:

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

Preverimo spremembe:

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

Dodajanje parametrov

Z metodo append lahko tudi dodamo nov parameter:

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

Preverimo spremembe:

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

Poskusimo dodati že obstoječi parameter:

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

V tem primeru bo naša metoda preprosto dodala istoimenski parameter na konec:

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

V tem se kaže razlika med metodama set in append. Prva bo spremenila obstoječi parameter, druga pa bo preprosto dodala njegovo dvojnico na konec.

Brisanje parametrov

Z metodo delete lahko brišemo parametre:

searchParams.delete('b');

Preverimo spremembe:

let res = searchParams.toString(); console.log(res); // izpiše 'a=1&c=3'

Ponavljanje parametrov z zanko

Parametre lahko ponavljamo z zanko:

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

Več enakih parametrov

Naj bo v našem nizu več enakih parametrov:

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

Z metodo getAll lahko dobimo tabelo vrednosti teh parametrov:

let res = searchParams.getAll('a'); console.dir(res); // izpiše [1, 2]

Praktične naloge

Naj bo podan naslednji niz s parametri:

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

Dodajte temu nizu še en parameter test3.

Izbrišite iz tega niza parameter test2.

Spremenite parameter test1 na novo vrednost.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni