⊗jsSpHPUSP 222 of 294 menu

Arbeid med URLSearchParams i JavaScript

Som du allerede vet, når du arbeider med skjemaer og GET-forespørsler i JavaScript, oppstår strenger av denne typen:

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

Noen ganger er det nødvendig å programmatisk endre verdien til en parameter fra denne strengen. Det er ikke veldig praktisk å skrive kode som gjør dette. Derfor har JavaScript en innebygd spesialklasse URLSearchParams for arbeid med slike strenger.

La oss opprette et objekt av denne klassen ved å sende vår parameterstreng som parameter:

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

La oss se hvilke metoder det opprettede objektet har.

Hente verdien til en parameter

Ved hjelp av metoden get kan du hente verdien til en parameter:

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

La oss prøve å hente verdien til en ikke-eksisterende parameter:

let res = searchParams.get('x'); console.log(res); // vil skrive ut null

Sjekke om en parameter finnes

Ved hjelp av metoden has kan du sjekke om en parameter finnes. La oss sjekke en eksisterende parameter:

let res = searchParams.has('a'); console.log(res); // vil skrive ut true

La oss sjekke en ikke-eksisterende:

let res = searchParams.has('x'); console.log(res); // vil skrive ut false

Konvertering til streng

Ved hjelp av metoden toString kan du konvertere vårt objekt tilbake til en streng:

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

Endre parametere

Ved hjelp av metoden set kan du endre verdien til en parameter:

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

La oss sjekke endringene:

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

Legge til parametere

Ved hjelp av metoden set kan du også legge til en ny parameter:

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

La oss sjekke endringene:

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

Legge til parametere

Ved hjelp av metoden append kan du også legge til en ny parameter:

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

La oss sjekke endringene:

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

La oss prøve å legge til en allerede eksisterende parameter:

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

I dette tilfellet vil metoden vår bare legge til en parameter med samme navn på slutten:

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

Dette viser forskjellen mellom metodene set og append. Den første vil endre en eksisterende parameter, mens den andre bare vil legge til en duplikat på slutten.

Slette parametere

Ved hjelp av metoden delete kan du slette parametere:

searchParams.delete('b');

La oss sjekke endringene:

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

Gå gjennom parametere med løkke

Du kan gå gjennom parametere med en løkke:

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

Flere like parametere

La det være flere like parametere i strengen vår:

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

Ved hjelp av metoden getAll kan du hente en matrise med verdier for disse parameterne:

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

Praktiske oppgaver

La følgende parameterstreng være gitt:

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

Legg til enda en parameter test3 i denne strengen.

Slett parameteren test2 fra denne strengen.

Endre parameteren test1 til en ny verdi.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis