JavaScript-de URLSearchParams bilen işleşiş
Bilşiňiz ýaly, JavaScript-de formularlar we GET haýyşlary bilen işleşilende, şuňa meňzeş setirler ýüze çykýar:
let paramsString = 'a=1&b=2&c=3';
Beýle bir setirdäki parametriň bahasyny programma
ýollary üýtgetmek gerek bolup biler. Muny amala aşyrmak
üçin kod ýazmak amatly däl. Şonuň üçin JavaScript-de
beýle setirler bilen işlemek üçin URLSearchParams
atly aýratyn klas döredildi.
Geliň, bu klassyň nobadyny döredip, parametr hökmünde bizim parametrli setirimizi bereliň:
let paramsString = 'a=1&b=2&c=3';
let searchParams = new URLSearchParams(paramsString);
Geliň, döredilen nobadyň haýsy usullary bar bolsa, göreliň.
Parametriň bahasyny almak
get usuly bilen parametriň bahasyny
alyp bolýar:
let res = searchParams.get('a');
console.log(res);
Indi bolsa ýok parametriň bahasyny almaga synanyşalyň:
let res = searchParams.get('x');
console.log(res); // null görkezer
Parametriň bardygyny barlamak
has usuly bilen parametriň bardygyny
barlap bolýar. Bar bolan parametri barlaýalyň:
let res = searchParams.has('a');
console.log(res); // true görkezer
Ýok bolan parametri barlaýalyň:
let res = searchParams.has('x');
console.log(res); // false görkezer
Setre öwürmek
toString usuly bilen nobadymyzy
ýene-de setre öwürip bolýar:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3' görkezer
Parametrleri üýtgetmek
set usuly bilen parametriň bahasyny
üýtgedip bolýar:
searchParams.set('b', 'x');
Üýtgeşmegi barlaýalyň:
let res = searchParams.toString();
console.log(res); // 'a=1&b=x&c=3' görkezer
Täze parametr goşmak
set usuly bilem täze parametr hem
goşup bolýar:
searchParams.set('d', '4');
Üýtgeşmegi barlaýalyň:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3&d=4' görkezer
Parametr goşmak
append usuly bilem täze parametr
goşup bolýar:
searchParams.append('d', '4');
Üýtgeşmegi barlaýalyň:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3&d=4' görkezer
Indi bolsa bar bolan parametri goşmaga synanyşalyň:
searchParams.append('a', '4');
Bu ýagdaýda bu usul, diňe şol atly parametri soňuna goşar:
let res = searchParams.toString();
console.log(res); // 'a=1&b=2&c=3&a=4' görkezer
set we append usullarynyň arasyndaky
tapawut şu ýerde görünýär. Birinji bar bolan parametri
üýtgedýär, ikinjisi bolsa onuň nusgasyny soňuna goşýar.
Parametrleri aýyrmak
delete usuly bilen parametrleri
aýyryp bolýar:
searchParams.delete('b');
Üýtgeşmegi barlaýalyň:
let res = searchParams.toString();
console.log(res); // 'a=1&c=3' görkezer
Parametrleri aýlaw bilen geçmek
Parametrleri aýlaw bilen geçip bolýar:
for (let p of searchParams) {
console.log(p);
}
Birnäçe şol bir parametr
Bizim setirimizde birnäçe şol bir atly parametr bardyr diýeliň:
let paramsString = 'a=1&a=2b=2&c=3';
getAll usuly bilen bu parametrleriň
bahalarynyň sanawyny alyp bolýar:
let res = searchParams.getAll('a');
console.dir(res); // [1, 2] görkezer
Amaly wezîpeler
Bizde parametrli aşakdaky setir bardyr diýeliň:
let paramsString = 'test1=param1&test2=param2&test3=param3';
Bu setire test3 atly ýene bir parametr goşuň.
Bu setirden test2 atly parametri aýyryň.
test1 atly parametri täze baha üýtgediň.