⊗jsSpHPUSP 222 of 294 menu

Arbeta med URLSearchParams i JavaScript

Som du redan vet, när du arbetar med formulär och GET-förfrågningar i JavaScript uppstår strängar av denna typ:

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

Ibland behöver man programmatiskt ändra värdet på en parameter från denna sträng. Att skriva kod som gör detta är inte särskilt bekvämt. Därför har JavaScript en speciell inbyggd klass URLSearchParams för att arbeta med sådana strängar.

Låt oss skapa ett objekt av denna klass genom att skicka vår parametersträng som parameter:

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

Låt oss titta på vilka metoder det skapade objektet har.

Hämta parametervärde

Med metoden get kan du hämta värdet på en parameter:

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

Låt oss försöka hämta värdet på en parameter som inte finns:

let res = searchParams.get('x'); console.log(res); // kommer att skriva ut null

Kontrollera om en parameter finns

Med metoden has kan du kontrollera om en parameter finns. Låt oss kontrollera en befintlig parameter:

let res = searchParams.has('a'); console.log(res); // kommer att skriva ut true

Låt oss kontrollera en som inte finns:

let res = searchParams.has('x'); console.log(res); // kommer att skriva ut false

Konvertering till sträng

Med metoden toString kan du konvertera vårt objekt tillbaka till en sträng:

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

Ändra parametrar

Med metoden set kan du ändra värdet på en parameter:

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

Låt oss kontrollera ändringarna:

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

Lägga till parametrar

Med metoden set kan du också lägga till en ny parameter:

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

Låt oss kontrollera ändringarna:

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

Lägga till parametrar

Med metoden append kan du också lägga till en ny parameter:

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

Låt oss kontrollera ändringarna:

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

Låt oss försöka lägga till en parameter som redan finns:

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

I det här fallet kommer vår metod helt enkelt att lägga till en parameter med samma namn i slutet:

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

Detta visar skillnaden mellan metoderna set och append. Den första kommer att ändra en befintlig parameter, medan den andra helt enkelt lägger till en dubblett av den i slutet.

Ta bort parametrar

Med metoden delete kan du ta bort parametrar:

searchParams.delete('b');

Låt oss kontrollera ändringarna:

let res = searchParams.toString(); console.log(res); // kommer att skriva ut 'a=1&c=3'

Iterera parametrar med en loop

Parametrar kan itereras med en loop:

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

Flera likadana parametrar

Låt oss säga att vår sträng har flera likadana parametrar:

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

Med metoden getAll kan du få en array med värden för dessa parametrar:

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

Praktiska uppgifter

Antag att följande parametersträng är given:

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

Lägg till ytterligare en parameter test3 till denna sträng.

Ta bort parametern test2 från denna sträng.

Ändra parametern test1 till ett nytt värde.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa