⊗jsSpHPUSP 222 of 294 menu

JavaScript да URLSearchParams билан ишлаш

Сизга маълумки, JavaScript да формалар ва GET сўровлари билан ишлаганда куйидаги кўринишдаги сатрлар пайдо булади:

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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш