⊗jsSpHPUSP 222 of 294 menu

Darbas su URLSearchParams JavaScript'e

Kaip jau žinote, dirbant su formomis ir GET užklausomis JavaScript'e susidaromos tokios formos eilutės:

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

Kartais reikia programiniu būdu pakeisti kurio nors parametro reikšmę šioje eilutėje. Rašyti kodą, kuris tai daro, nėra labai patogu. Todėl JavaScript'e yra įdiegta speciali klasė URLSearchParams darbui su tokiomis eilutėmis.

Sukurkime šios klasės objektą, perduodami parametru mūsų eilutę su parametrais:

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

Pažiūrėkime, kokie metodai yra sukurtame objekte.

Parametro reikšmės gavimas

Naudojant metodą get galima gauti parametro reikšmę:

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

Pabandykime gauti neegzistuojančio parametro reikšmę:

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

Parametro buvimo patikrinimas

Naudojant metodą has galima patikrinti parametro buvimą. Patikrinkime egzistuojantį parametrą:

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

Patikrinkime neegzistuojantį:

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

Konvertavimas į eilutę

Naudojant metodą toString galima konvertuoti mūsų objektą atgal į eilutę:

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

Parametrų keitimas

Naudojant metodą set galima pakeisti parametro reikšmę:

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

Patikrinkime pakeitimus:

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

Parametrų pridėjimas

Naudojant metodą set taip pat galima pridėti naują parametrą:

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

Patikrinkime pakeitimus:

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

Parametrų pridėjimas

Naudojant metodą append taip pat galima pridėti naują parametrą:

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

Patikrinkime pakeitimus:

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

Pabandykime pridėti jau egzistuojantį parametrą:

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

Šiuo atveju mūsų metodas tiesiog pridės to paties pavadinimo parametrą į galą:

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

Taip pasireiškia skirtumas tarp metodų set ir append. Pirmasis pakeis egzistuojantį parametrą, o antrasis tiesiog pridės jo dublikatą į galą.

Parametrų ištrynimas

Naudojant metodą delete galima trinti parametrus:

searchParams.delete('b');

Patikrinkime pakeitimus:

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

Parametrų iteravimas ciklu

Parametrus galima iteruoti ciklu:

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

Keli vienodi parametrai

Tarkime, mūsų eilutėje yra keli vienodi parametrai:

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

Naudojant metodą getAll galima gauti šių parametrų reikšmių masyvą:

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

Praktinės užduotys

Tarkime, duota tokia eilutė su parametrais:

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

Pridėkite į šią eilutę dar vieną parametrą test3.

Ištrinkite iš šios eilutės parametrą test2.

Pakeiskite parametro test1 reikšmę į naują.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti