⊗jsSpHPUSP 222 of 294 menu

Arbejde med URLSearchParams i JavaScript

Som du allerede ved, opstår der strenge af følgende type, når du arbejder med formularer og GET-anmodninger i JavaScript:

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

Nogle gange er det nødvendigt programmatisk at ændre værdien af en hvilken som helst parameter fra denne streng. Det er ikke særlig bekvemt at skrive kode, der gør dette. Derfor har JavaScript en speciel indbygget klasse URLSearchParams til arbejde med sådanne strenge.

Lad os oprette et objekt af denne klasse ved at videregive vores parameterstreng som parameter:

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

Lad os se, hvilke metoder det oprettede objekt har.

Hentning af parameterværdi

Ved hjælp af metoden get kan du hente værdien af en parameter:

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

Lad os prøve at hente værdien af en ikke-eksisterende parameter:

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

Tjek for parameterens tilstedeværelse

Ved hjælp af metoden has kan du tjekke for tilstedeværelsen af en parameter. Lad os tjekke en eksisterende parameter:

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

Lad os tjekke en ikke-eksisterende:

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

Konvertering til streng

Ved hjælp af metoden toString kan du konvertere vores objekt tilbage til en streng:

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

Ændring af parametre

Ved hjælp af metoden set kan du ændre værdien af en parameter:

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

Lad os kontrollere ændringerne:

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

Tilføjelse af parametre

Ved hjælp af metoden set kan du også tilføje en ny parameter:

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

Lad os kontrollere ændringerne:

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

Tilføjelse af parametre

Ved hjælp af metoden append kan du også tilføje en ny parameter:

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

Lad os kontrollere ændringerne:

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

Lad os prøve at tilføje en allerede eksisterende parameter:

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

I dette tilfælde vil metoden blot tilføje en parameter med samme navn i slutningen:

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

Dette viser forskellen mellem metoderne set og append. Den første vil ændre en eksisterende parameter, mens den anden blot tilføjer en dublet af den i slutningen.

Sletning af parametre

Ved hjælp af metoden delete kan du slette parametre:

searchParams.delete('b');

Lad os kontrollere ændringerne:

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

Iteration over parametre med loop

Parametre kan itereres over med et loop:

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

Flere identiske parametre

Antag, at vores streng har flere identiske parametre:

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

Ved hjælp af metoden getAll kan du hente et array med værdier for disse parametre:

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

Praktiske opgaver

Antag følgende streng med parametre:

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

Tilføj endnu en parameter test3 til denne streng.

Slet parameteren test2 fra denne streng.

Ændr parameteren test1 til en ny værdi.

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