|
|
Publicerad på 2022-04-16 18:50:39
|
|
|
|

URL-kodning
Vissa tecken kan inte förekomma i URL:er (t.ex. mellanslag), andra har speciella betydelser i URL:er. Vi behöver konvertera specialtecken för att följa syntaxen som definieras i W3 URI-specifikationen (RFC 3986). Detta innebär att URL:er endast måste innehålla en delmängd av ett speciellt ASCII-tecken: de bokstäver och siffror vi är bekanta med, samt några reserverade tecken som används som kontrolltecken i URL:en.
URL-kodningsbearbetning i JavaScript
I JavaScript kan både encodeURIComponent() och encodeURI() inbyggda funktioner kodas med URL:er, där de reserverade tecknen i URL:en ersätts med deras UTF-8-kodade tecken.
De flesta webbläsare kodar automatiskt URL:er, till exempel att koda utrymmen till 20 %, men det finns alltid vissa undantag. Lyckligtvis erbjuder webbläsare inbyggda URL-kodnings- och avkodningsfunktioner: encodeURI, encodeURIComponent och decodeURI, decodeURIComponent. Frågan är hur man använder dessa funktioner, och vad skillnaden är mellan dem.
encodeURI()
URL-kodning av en sträng är enkelt, bara anropa encodeURI och skicka in strängen du vill koda. Denna funktion returnerar den kodade URL:en.
decodeURI()
Denna funktion avkodar och anropar decodeURI-funktionen, skickar in den kodade strängen och returnerar sedan den avkodade normalsträngen.
encodeURIComponent()
Funktionen encodeURIComponent bör användas för att koda parametervärdena för frågesträngen. Skillnaden mellan encodeURI och encodeURIComponent är att encodeURIComponent kodar hela strängen, medan encodeURI ignorerar protokollprefixet ('http://') samt domännamnet. encodeURIComponent är utformad för att koda allt, medan encodeURI ignorerar domännamnsdelen av URL:en. När duNär du vill koda parametervärdet i URL:en, välj funktionen encodeURIComponent。
decodeURIComponent()
DecodeURIComponent-funktionen kommer att avkoda den kodade strängen för encodeURIComponent-funktionen och återställa den till dess normala innehåll.
Recension:
|
Föregående:SQL Server tidsintervall prioritetsvalNästa:jQuery hide fungerar inte, två lösningar
|