Koding og dekoding av URL-er i JavaScript er avgjørende for nettutvikling, spesielt når du lager GET-forespørsler med søkeparametere. Denne prosessen sikrer at spesialtegn i URL-er tolkes riktig av serveren. Mellomrom konverteres for eksempel til %20 eller + i URL-er. Denne veiledningen dekker hvordan du bruker JavaScript-funksjoner som encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() og unescape() for effektiv URL-koding og dekoding.
Eksempel:
- Åpne www.google.com og skriv et søkeord geeks for nerder.
- Etter at søkeresultatene vises, observer nettleserens URL-linje. Nettleserens URL vil bestå av %20 eller +-tegn i stedet for mellomrom.
- Nettadressen vises slik: https://www.google.com/search?q=geeks%20for%20geeks eller https://www.google.com/search?q=geeks+for+geeks
Merk : Nettleseren konverterte mellomrommene til + eller %20-tegn automatisk.
Kode en URL: Koding i Javascript kan oppnås ved å bruke:
Innholdsfortegnelse
- 1. JavaScript encodeURI-funksjon
- 2. JavaScript encodeURIComponent() funksjon
- 3. JavaScript escape() funksjon
- 1. JavaScript decodeURI() funksjon
- 2. JavaScript decodeURIComponent() funksjon
- 3. JavaScript unescape() funksjon
- 4. JavaScript spørrestreng-modul
1. JavaScript encodeURI-funksjon
De encodeURI() funksjon brukes til å kode fullstendig URI. Denne funksjonen koder spesialtegnet bortsett fra (, / ?: @ & = + $ #) tegn.
Syntaks:
encodeURI( complete_uri_string );>Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL)>
Produksjon
https://www.google.com/search?q=geeks%20for%20geeks>
2. JavaScript encodeURIComponent() funksjon
De encodeURIConponent() funksjon brukes til å kode noen deler eller komponenter av URI. Denne funksjonen koder spesialtegnene. I tillegg koder den for følgende tegn: , / ? : @ & = + $ #
Syntaks:
encodeURIComponent( uri_string_component );>Javascript
const component = 'geeks for geeks'; const encodedComponent = encodeURIComponent(component); console.log(encodedComponent);>
Produksjon
geeks%20for%20geeks>
3. JavaScript escape() funksjon
JavaScript escape() funksjon tar en streng som en enkelt parameter og koder strengen som kan overføres over datanettverket som støtter ASCII-tegn. Koding er prosessen med å konvertere ren tekst til chiffertekst.
Syntaks:
escape( string )>
Merk: Escape()-funksjonen koder bare spesialtegnene, denne funksjonen er utdatert.
Unntak: @ – + . /*_
matematikk pow javaJavascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url);// encoding using encodeURI console.log(encodedURL) console.log(' ' + escape(url)); //encoding using escape> Produksjon
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks>
Dekoding av en URL
Dekoding i Javascript kan oppnås ved å bruke
1. JavaScript decodeURI() funksjon
De decodeURI() funksjon brukes til å dekode URI generert av kodeURI() .
Syntaks:
decodeURI( complete_encoded_uri_string )>
Eksempel : Dette eksemplet beskriver decodeURI() funksjon av Javascript .
Javascript const url = 'https://www.google.com/search?q=geeks%20for%20geeks'; const decodedURL = decodeURI(url); console.log(decodedURL)>
Produksjon
https://www.google.com/search?q=geeks for geeks>
2. JavaScript decodeURIComponent() funksjon
De decodeURIConponent() funksjon brukes til å dekode noen deler eller komponenter av URI generert av encodeURIComponent().
Syntaks:
decodeURIComponent( encoded_uri_string_component )>
Eksempel : Dette eksemplet beskriver decodeURIConponent() av Javascript.
Javascript const component = 'geeks%20for%20geeks' const decodedComponent = decodeURIComponent(component); console.log(decodedComponent)>
Produksjon
geeks for geeks>
3. JavaScript unescape() funksjon
Denne funksjonen tar en streng som en enkelt parameter og bruker den til å dekode den strengen som er kodet av escape()-funksjonen. Den heksadesimale sekvensen i strengen erstattes av tegnene de representerer når de dekodes via unescape() funksjon.
Syntaks:
unescape(string)>
Merk: Denne funksjonen dekoder kun spesialtegnene, denne funksjonen er utdatert.
Unntak: @ – + . /*_
Javascript const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL) console.log(escape(url)); console.log(decodeURI(encodedURL)); console.log(unescape(encodedURL));>
Produksjon
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks https://www.google.com/search?q=geeks for geeks https://www.google.com/search?q=geeks for ...>
4. JavaScript spørrestreng-modul
Spørrestrengmodulen gir verktøy for å analysere og formatere URL-spørrestrenger. Den kan brukes til å kode og dekode URL-komponenter.
Kode en URL:
For å kode en URL, kan vi bruke funksjonen querystring.stringify() for å lage en spørringsstreng fra et objekt og deretter bruke encodeURIComponent() for å kode den resulterende strengen.
JavaScript const querystring = require('querystring'); const urlParams = { q: 'geeks for geeks', page: 1, sort: 'desc' }; const encodedURL = 'https://www.google.com/search?' + querystring.stringify(urlParams); console.log(encodedURL);>
Produksjon:
https://www.google.com/search?q=geeks%20for%20geeks&page=1&sort=desc>
Dekoding av en URL:
For å dekode en URL, kan vi bruke funksjonen querystring.parse() til å analysere spørringsstrengen inn i et objekt og deretter få tilgang til de dekodede verdiene.
JavaScript const decodedParams = querystring.parse('q=geeks%20for%20geeks&page=1&sort=desc'); console.log(decodedParams.q); // Output: geeks for geeks console.log(decodedParams.page); // Output: 1 console.log(decodedParams.sort); // Output: desc>
Forskjellen decodeURIConponent og decodeURI:
| decodeURIConponent | decodeURI | |
|---|---|---|
| Definisjon | DecodeURIComponent()-funksjonen brukes til å dekode noen deler eller komponenter av URI generert av encodeURIComponent(). | Dekoding i Javascript kan oppnås ved å bruke decodeURI-funksjonen. |
| Syntaks | decodeURIComponent(encoded_uri_string_component) | decodeURI( komplett_kodet_uri_streng ) |
| Spesialtegnkoding | Den krever encodeURIComponent(url)-streng slik at den kan dekode disse tegnene. | Den tar encodeURI(url)-streng slik at den ikke kan dekode tegn (, / ? : @ & = + $ #) |
| Eksempel | decodeURIComponent(%41) Den returnerer A decodeURIConponent(%26): Den returnerer & | decodeURI(%41): Den returnerer A decodeURI(%26): Den returnerer %26 |
URL-koding og -dekoding i JavaScript er avgjørende for sømløs webutvikling. Ved å bruke funksjoner som encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() og unescape(), kan utviklere sikre at URL-ene deres er riktig formatert og lesbare av servere. Denne ferdigheten er avgjørende for å håndtere søkeparametere i GET-forespørsler og sikrer en jevn brukeropplevelse på nettstedet ditt.