Kodiranje in dekodiranje URL-jev v JavaScriptu je bistvenega pomena za spletni razvoj, zlasti pri izdelavi zahtev GET s poizvedbenimi parametri. Ta postopek zagotavlja, da strežnik pravilno razlaga posebne znake v URL-jih. Presledki se na primer pretvorijo v %20 ali + v URL-jih. Ta priročnik pokriva, kako uporabljati funkcije JavaScript, kot so encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() in unescape() za učinkovito kodiranje in dekodiranje URL-jev.
primer:
- Odprite www.google.com in napišite iskalno poizvedbo geeks za geeks.
- Ko se prikažejo rezultati iskanja, opazujte URL vrstico brskalnika. URL brskalnika bo sestavljen iz %20 ali znaka + namesto presledka.
- URL bo prikazan kot: https://www.google.com/search?q=geeks%20for%20geeks ali https://www.google.com/search?q=geeks+for+geeks
Opomba : brskalnik je samodejno pretvoril presledke v znake + ali %20.
Kodiranje URL-ja: Kodiranje v Javascript je mogoče doseči z:
Kazalo
- 1. Funkcija JavaScript encodeURI
- 2. Funkcija JavaScript encodeURIComponent().
- 3. Funkcija JavaScript escape().
- 1. Funkcija JavaScript decodeURI().
- 2. Funkcija JavaScript decodeURIComponent().
- 3. Funkcija JavaScript unescape().
- 4. Modul poizvedbenega niza JavaScript
1. Funkcija JavaScript encodeURI
The funkcijo encodeURI(). se uporablja za kodiranje celotnega URI-ja. Ta funkcija kodira posebne znake, razen znakov (, / ?: @ & = + $ #).
Sintaksa:
encodeURI( complete_uri_string );>Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL)>
Izhod
https://www.google.com/search?q=geeks%20for%20geeks>
2. Funkcija JavaScript encodeURIComponent().
The funkcijo encodeURIComponent(). se uporablja za kodiranje nekaterih delov ali komponent URI. Ta funkcija kodira posebne znake. Poleg tega kodira naslednje znake: , / ? : @ & = + $ #
Sintaksa:
encodeURIComponent( uri_string_component );>Javascript
const component = 'geeks for geeks'; const encodedComponent = encodeURIComponent(component); console.log(encodedComponent);>
Izhod
geeks%20for%20geeks>
3. Funkcija JavaScript escape().
funkcija JavaScript escape(). vzame niz kot en sam parameter in kodira niz, ki se lahko prenaša po računalniškem omrežju, ki podpira znake ASCII. Kodiranje je postopek pretvorbe navadnega besedila v šifrirano besedilo.
Sintaksa:
escape( string )>
Opomba: Funkcija escape() kodira samo posebne znake, ta funkcija je zastarela.
Izjeme: @ – + . /*_
ujemi in preizkusi javoJavascript
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> Izhod
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks>
Dekodiranje URL-ja
Dekodiranje v Javascriptu je mogoče doseči z uporabo
1. Funkcija JavaScript decodeURI().
The funkcijo decodeURI(). se uporablja za dekodiranje URI-ja, ki ga ustvari kodirajURI() .
Sintaksa:
decodeURI( complete_encoded_uri_string )>
Primer : Ta primer opisuje funkcijo decodeURI(). od Javascript .
Javascript const url = 'https://www.google.com/search?q=geeks%20for%20geeks'; const decodedURL = decodeURI(url); console.log(decodedURL)>
Izhod
https://www.google.com/search?q=geeks for geeks>
2. Funkcija JavaScript decodeURIComponent().
The funkcijo decodeURIComponent(). se uporablja za dekodiranje nekaterih delov ali komponent URI-ja, ki jih ustvari encodeURIComponent().
Sintaksa:
decodeURIComponent( encoded_uri_string_component )>
Primer : Ta primer opisuje decodeURIComponent() Javascripta.
Javascript const component = 'geeks%20for%20geeks' const decodedComponent = decodeURIComponent(component); console.log(decodedComponent)>
Izhod
geeks for geeks>
3. Funkcija JavaScript unescape().
Ta funkcija vzame niz kot en sam parameter in ga uporabi za dekodiranje tega niza, kodiranega s funkcijo escape(). Šestnajstiško zaporedje v nizu se nadomesti z znaki, ki jih predstavljajo pri dekodiranju prek funkcijo unescape().
Sintaksa:
unescape(string)>
Opomba: Ta funkcija dekodira samo posebne znake, ta funkcija je zastarela.
Izjeme: @ – + . /*_
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));>
Izhod
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. Modul poizvedbenega niza JavaScript
Modul querystring ponuja pripomočke za razčlenjevanje in oblikovanje nizov poizvedb URL. Lahko se uporablja za kodiranje in dekodiranje komponent URL.
Kodiranje URL-ja:
Za kodiranje URL-ja lahko uporabimo funkcijo querystring.stringify() za ustvarjanje poizvedbenega niza iz predmeta in nato uporabimo encodeURIComponent() za kodiranje nastalega niza.
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);>
Izhod:
https://www.google.com/search?q=geeks%20for%20geeks&page=1&sort=desc>
Dekodiranje URL-ja:
Za dekodiranje URL-ja lahko uporabimo funkcijo querystring.parse(), da razčlenimo poizvedbeni niz v objekt in nato dostopamo do dekodiranih vrednosti.
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>
Razlika decodeURIComponent in decodeURI:
| decodeURIComponent | decodeURI | |
|---|---|---|
| Opredelitev | Funkcija decodeURIComponent() se uporablja za dekodiranje nekaterih delov ali komponent URI-ja, ki jih ustvari encodeURIComponent(). | Dekodiranje v Javascriptu je mogoče doseči s funkcijo decodeURI. |
| Sintaksa | decodeURIComponent(encoded_uri_string_component) | decodeURI(complete_coded_uri_string) |
| Posebno kodiranje znakov | Potrebuje niz encodeURIComponent(url), da lahko dekodira te znake. | Potrebuje niz encodeURI(url), tako da ne more dekodirati znakov (, / ? : @ & = + $ #) |
| Primer | decodeURIComponent(%41) Vrne A decodeURIComponent(%26): vrne & | decodeURI(%41): vrne A decodeURI(%26): vrne %26 |
Kodiranje in dekodiranje URL-jev v JavaScriptu je ključnega pomena za brezhiben spletni razvoj. Z uporabo funkcij, kot so encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() in unescape(), lahko razvijalci zagotovijo, da so njihovi URL-ji pravilno oblikovani in strežniki berljivi. Ta veščina je bistvena za obravnavanje poizvedbenih parametrov v zahtevah GET in zagotavlja nemoteno uporabniško izkušnjo na vašem spletnem mestu.