⊗jsSpHPUSP 222 of 294 menu

Práca s URLSearchParams v JavaScripte

Ako už viete, pri práci s formulármi a GET požiadavkami v JavaScripte vznikajú reťazce takého tvaru:

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

Niekedy je potrebné programovo zmeniť hodnotu nejakého parametra z tohto reťazca. Písanie kódu, ktorý to robí, nie je veľmi pohodlné. Preto je v JavaScripte vstavaná špeciálna trieda URLSearchParams na prácu s takýmito reťazcami.

Vytvorme objekt tejto triedy, odovzdaním našehoreťazca s parametrami ako parameter:

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

Pozrime sa, aké metódy má vytvorený objekt.

Získanie hodnoty parametra

Pomocou metódy get je možné získať hodnotu parametra:

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

Skúsme získať hodnotu neexistujúceho parametra:

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

Kontrola existencie parametra

Pomocou metódy has je možné skontrolovať existenciu parametra. Skontrolujme existujúci parameter:

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

Skontrolujme neexistujúci:

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

Konverzia na reťazec

Pomocou metódy toString je možné previesť náš objekt späť na reťazec:

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

Zmena parametrov

Pomocou metódy set je možné zmeniť hodnotu parametra:

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

Skontrolujme zmeny:

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

Pridanie parametrov

Pomocou metódy set je možné tiež pridať nový parameter:

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

Skontrolujme zmeny:

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

Pridanie parametrov

Pomocou metódy append je možné tiež pridať nový parameter:

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

Skontrolujme zmeny:

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

Skúsme pridať už existujúci parameter:

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

V tomto prípade naša metóda jednoducho pridá parameter s rovnakým menom na koniec:

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

V tomto sa prejavuje rozdiel medzi metódami set a append. Prvá zmení existujúci parameter, zatiaľ čo druhá jednoducho pridá jeho duplikát na koniec.

Odstránenie parametrov

Pomocou metódy delete je možné odstraňovať parametre:

searchParams.delete('b');

Skontrolujme zmeny:

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

Prechádzanie parametrov cyklom

Parametre je možné prechádzať cyklom:

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

Niekoľko rovnakých parametrov

Nech v našom reťazci je niekoľko rovnakých parametrov:

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

Pomocou metódy getAll je možné získať pole hodnôt týchto parametrov:

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

Praktické úlohy

Nech je daný nasledujúci reťazec s parametrami:

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

Pridajte do tohto reťazca ešte jeden parameter test3.

Odstráňte z tohto reťazca parameter test2.

Zmeňte parameter test1 na novú hodnotu.

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
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť