URL-koding
Noen tegn kan ikke forekomme i URL-er (f.eks. mellomrom), andre har spesielle betydninger i URL-er. Vi må konvertere spesialtegn for å samsvare med syntaksen definert i W3 URI-spesifikasjonen (RFC 3986). Dette betyr at URL-er kun må inneholde en delmengde av et spesielt ASCII-tegn: bokstavene og tallene vi er kjent med, samt noen reserverte tegn som brukes som kontrolltegn i URL-en.
URL-kodingsprosessering i JavaScript
I JavaScript kan både encodeURIComponent() og encodeURI()-innebygde funksjoner kodes med URL, hvor de reserverte tegnene i URL-en erstattes med deres UTF-8-kodede tegn.
De fleste nettlesere koder automatisk URL-er, for eksempel å kode mellomrom til 20 %, men det finnes alltid noen unntak. Heldigvis tilbyr nettlesere innebygde URL-kodings- og dekodingsfunksjoner: encodeURI, encodeURIComponent og decodeURI, decodeURIComponent. Spørsmålet er hvordan man bruker disse funksjonene, og hva som er forskjellen mellom dem.
encodeURI()
URL-koding av en streng er enkelt, bare kall encodeURI og send inn strengen du vil kode. Denne funksjonen returnerer den kodede URL-en.
decodeURI()
Denne funksjonen dekoder og kaller decodeURI-funksjonen, sender inn den kodede strengen, og returnerer deretter den dekodede normalstrengen.
encodeURIComponent()
Funksjonen ENCODEURIComponent bør brukes til å kode parameterverdiene til spørringsstrengen. Forskjellen mellom encodeURI og encodeURIComponent er at encodeURIComponent koder hele strengen, mens encodeURI ignorerer protokollprefikset ('http://') samt domenenavnet. encodeURIComponent er designet for å kode alt, mens encodeURI ignorerer domenenavndelen av URL-en. Når duNår du vil kode parameterverdien i URL-en, velg funksjonen ENCODEURIComponent。
decodeURIComponent()
DecodeURIComponent-funksjonen vil dekode den kodede strengen til encodeURIComponent-funksjonen og gjenopprette den til sitt normale innhold.
Anmeldelse:
|