⊗jsSpHPUSP 222 of 294 menu

URLSearchParams-työskentely JavaScriptissä

Kuten jo tiedät, lomakkeiden ja GET-pyyntöjen käsittelyssä JavaScriptissä syntyy merkkijonoja tämän tyyppisiä:

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

Joskus on tarpeen muuttaa ohjelmallisesti joidenkin parametrien arvoja tästä merkkijonosta. Koodin kirjoittaminen, joka tekee tämän, ei ole kovin kätevää. Siksi JavaScriptiin on sisäänrakennettu erityinen luokka URLSearchParams tällaisten merkkijonojen käsittelyyn.

Luodaanpa tämän luokan olio välittämällä parametrina parametrimerkkijonomme:

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

Katsotaanpa, mitä metodeja luodulla oliolla on.

Parametrin arvon saaminen

Menetelmällä get voidaan saada parametrin arvo:

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

Yritetään saada olemattomän parametrin arvo:

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

Parametrin olemassaolon tarkistaminen

Menetelmällä has voidaan tarkistaa parametrin olemassaolo. Tarkistetaan olemassa oleva parametri:

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

Tarkistetaan olematon:

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

Muuntaminen merkkijonoksi

Menetelmällä toString voidaan muuntaa olio takaisin merkkijonoksi:

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

Parametrien muuttaminen

Menetelmällä set voidaan muuttaa parametrin arvoa:

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

Tarkistetaan muutokset:

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

Parametrien lisääminen

Menetelmällä set voidaan myös lisätä uusi parametri:

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

Tarkistetaan muutokset:

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

Parametrien lisääminen

Menetelmällä append voidaan myös lisätä uusi parametri:

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

Tarkistetaan muutokset:

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

Yritetään lisätä jo olemassa oleva parametri:

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

Tässä tapauksessa menetelmämme yksinkertaisesti lisää samannimisen parametrin loppuun:

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

Tässä ilmenee ero menetelmien set ja append välillä. Ensimmäinen muuttaa olemassa olevan parametrin, kun taas toinen yksinkertaisesti lisää sen kaksoiskappaleen loppuun.

Parametrien poistaminen

Menetelmällä delete voidaan poistaa parametreja:

searchParams.delete('b');

Tarkistetaan muutokset:

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

Parametrien läpikäynti silmukalla

Parametreja voidaan käydä läpi silmukalla:

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

Useita samanlaisia parametreja

Olkoon merkkijonossamme useita samanlaisia parametreja:

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

Menetelmällä getAll voidaan saada tällaisten parametrien arvojen taulukko:

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

Käytännön tehtävät

Olkoon annettu seuraava parametrimerkkijono:

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

Lisää tähän merkkijonoon vielä yksi parametri test3.

Poista tästä merkkijonosta parametri test2.

Muuta parametria test1 uuteen arvoon.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää