⊗jsSpHPUSP 222 of 294 menu

Рад са URLSearchParams у JavaScript-у

Као што већ знате, при раду са формама и GET захтевима у JavaScript-у настају стрингови овог вида:

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

Понекад је потребно програмски променити вредност неког параметра из овог стринга. Писање кода који то ради није баш погодно. Зато у JavaScript-у постоји посебна класа URLSearchParams за рад са таквим стринговима.

Хајде да креирамо објекат ове класе, проследивши параметром наш стринг са параметрима:

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

Хајде да погледамо које методе има креирани објекат.

Добијање вредности параметра

Помоћу методе get можемо добити вредност параметра:

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

Пробајмо да добијемо вредност непостојећег параметра:

let res = searchParams.get('x'); console.log(res); // исписаће null

Провера постојања параметра

Помоћу методе has можемо проверити постојање параметра. Проверимо постојећи параметар:

let res = searchParams.has('a'); console.log(res); // исписаће true

Проверимо непостојећи:

let res = searchParams.has('x'); console.log(res); // исписаће false

Претварање у стринг

Помоћу методе toString можемо претворити наш објекат назад у стринг:

let res = searchParams.toString(); console.log(res); // исписаће 'a=1&b=2&c=3'

Мењање параметара

Помоћу методе set можемо променити вредност параметра:

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

Проверимо измене:

let res = searchParams.toString(); console.log(res); // исписаће 'a=1&b=x&c=3'

Додавање параметара

Помоћу методе set можемо такође додати нови параметар:

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

Проверимо измене:

let res = searchParams.toString(); console.log(res); // исписаће 'a=1&b=2&c=3&d=4'

Додавање параметара

Помоћу методе append можемо такође додати нови параметар:

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

Проверимо измене:

let res = searchParams.toString(); console.log(res); // исписаће 'a=1&b=2&c=3&d=4'

Хајде да пробамо да додамо већ постојећи параметар:

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

У овом случају наш метод ће једноставно додати истоимени параметар на крај:

let res = searchParams.toString(); console.log(res); // исписаће 'a=1&b=2&c=3&a=4'

У томе се огледа разлика између метода set и append. Први ће променити постојећи параметар, а други ће само додати његов дупликат на крај.

Брисање параметара

Помоћу методе delete можемо брисати параметре:

searchParams.delete('b');

Проверимо измене:

let res = searchParams.toString(); console.log(res); // исписаће 'a=1&c=3'

Прелазак кроз параметре петљом

Параметре можемо прелазити петљом:

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

Више истих параметара

Нека у нашем стрингу има више истих параметара:

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

Помоћу методе getAll можемо добити низ вредности ових параметара:

let res = searchParams.getAll('a'); console.dir(res); // исписаће [1, 2]

Практични задаци

Нека је дат следећи стринг са параметрима:

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

Додајте у овај стринг још један параметар test3.

Обришите из овог стринга параметар test2.

Промените параметар test1 на нову вредност.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј