URL-osoitteiden koodaus ja purkaminen JavaScriptissä on olennaista verkkokehityksessä, erityisesti tehtäessä GET-pyyntöjä kyselyparametreilla. Tämä prosessi varmistaa, että palvelin tulkitsee URL-osoitteiden erikoismerkit oikein. Esimerkiksi URL-osoitteissa välilyönnit muunnetaan muotoon %20 tai +. Tämä opas käsittelee JavaScript-funktioiden, kuten encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() ja unescape() käyttämistä tehokkaaseen URL-koodaukseen ja dekoodaukseen.
Esimerkki:
- Avaa www.google.com ja kirjoita hakukysely geeks for geeks.
- Kun hakutulokset tulevat näkyviin, tarkkaile selaimen URL-palkkia. Selaimen URL-osoite koostuu %20 tai + -merkistä välilyönnin tilalla.
- URL-osoite näytetään muodossa: https://www.google.com/search?q=geeks%20for%20geeks tai https://www.google.com/search?q=geeks+for+geeks
Huomautus : Selain muutti välilyönnit automaattisesti + tai %20 merkiksi.
URL-osoitteen koodaus: Javascript-koodaus voidaan saavuttaa käyttämällä:
Sisällysluettelo
- 1. JavaScript encodeURI -toiminto
- 2. JavaScript encodeURIComponent() -funktio
- 3. JavaScript escape()-funktio
- 1. JavaScript decodeURI() -funktio
- 2. JavaScript decodeURIComponent() -funktio
- 3. JavaScript unescape() -funktio
- 4. JavaScript-kyselymoduuli
1. JavaScript encodeURI -toiminto
The encodeURI()-funktio käytetään koodaamaan täydellinen URI. Tämä toiminto koodaa erikoismerkin lukuun ottamatta (, / ?: @ & = + $ #) merkkejä.
Syntaksi:
encodeURI( complete_uri_string );>Javascript
const url = 'https://www.google.com/search?q=geeks for geeks'; const encodedURL = encodeURI(url); console.log(encodedURL)>
Lähtö
https://www.google.com/search?q=geeks%20for%20geeks>
2. JavaScript encodeURIComponent() -funktio
The encodeURIComponent()-funktio käytetään koodaamaan joitakin URI:n osia tai komponentteja. Tämä toiminto koodaa erikoismerkit. Lisäksi se koodaa seuraavat merkit: , / ? : @ & = + $ #
Syntaksi:
encodeURIComponent( uri_string_component );>Javascript
const component = 'geeks for geeks'; const encodedComponent = encodeURIComponent(component); console.log(encodedComponent);>
Lähtö
geeks%20for%20geeks>
3. JavaScript escape()-funktio
JavaScript escape()-funktio ottaa merkkijonon yksittäisenä parametrina ja koodaa merkkijonon, joka voidaan lähettää ASCII-merkkejä tukevan tietokoneverkon kautta. Koodaus on prosessi, jossa pelkkä teksti muunnetaan salatekstiksi.
Syntaksi:
escape( string )>
Huomautus: Escape()-funktio koodaa vain erikoismerkit, tämä toiminto on vanhentunut.
Poikkeukset: @ – + . /*_
merkkijonotaulukko c-kielelläJavascript
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> Lähtö
https://www.google.com/search?q=geeks%20for%20geeks https%3A//www.google.com/search%3Fq%3Dgeeks%20for%20geeks>
URL-osoitteen dekoodaus
Dekoodaus Javascriptissä voidaan saavuttaa käyttämällä
1. JavaScript decodeURI() -funktio
The decodeURI()-funktio käytetään purkamaan URI, jonka on luonut encodeURI() .
Syntaksi:
decodeURI( complete_encoded_uri_string )>
Esimerkki : Tämä esimerkki kuvaa decodeURI()-funktio / Javascript .
Javascript const url = 'https://www.google.com/search?q=geeks%20for%20geeks'; const decodedURL = decodeURI(url); console.log(decodedURL)>
Lähtö
https://www.google.com/search?q=geeks for geeks>
2. JavaScript decodeURIComponent() -funktio
The decodeURIComponent()-funktio käytetään purkamaan joidenkin encodeURIComponent()-toiminnon luoman URI:n osia tai komponentteja.
Syntaksi:
decodeURIComponent( encoded_uri_string_component )>
Esimerkki : Tämä esimerkki kuvaa decodeURIComponent() Javascriptistä.
Javascript const component = 'geeks%20for%20geeks' const decodedComponent = decodeURIComponent(component); console.log(decodedComponent)>
Lähtö
geeks for geeks>
3. JavaScript unescape() -funktio
Tämä funktio ottaa merkkijonon yksittäisenä parametrina ja käyttää sitä escape()-funktion koodaaman merkkijonon purkamiseen. Heksadesimaalisekvenssi merkkijonossa korvataan merkeillä, joita ne edustavat, kun dekoodataan kautta unescape()-funktio.
Syntaksi:
unescape(string)>
Huomautus: Tämä toiminto purkaa vain erikoismerkit, tämä toiminto on vanhentunut.
Poikkeukset: @ – + . /*_
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));>
Lähtö
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-kyselymoduuli
Querystring-moduuli tarjoaa apuohjelmia URL-kyselymerkkijonojen jäsentämiseen ja muotoiluun. Sitä voidaan käyttää URL-osien koodaamiseen ja purkamiseen.
URL-osoitteen koodaus:
URL-osoitteen koodaamiseksi voimme käyttää querystring.stringify()-funktiota kyselymerkkijonon luomiseen objektista ja sitten koodata tuloksena oleva merkkijono encodeURIComponent()-funktiolla.
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);>
Lähtö:
https://www.google.com/search?q=geeks%20for%20geeks&page=1&sort=desc>
URL-osoitteen dekoodaus:
URL-osoitteen dekoodaamiseksi voimme käyttää querystring.parse()-funktiota jäsentämään kyselymerkkijono objektiksi ja pääsemään sitten dekoodattuihin arvoihin.
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>
Ero decodeURIComponent ja decodeURI:
| decodeURIComponent | decodeURI | |
|---|---|---|
| Määritelmä | DecodeURIComponent()-funktiota käytetään joidenkin encodeURIComponent()-toiminnon luoman URI:n osien tai komponenttien purkamiseen. | Dekoodaus Javascriptissä voidaan suorittaa käyttämällä decodeURI-toimintoa. |
| Syntaksi | decodeURIComponent( encoded_uri_string_component ) | decodeURI( täydellinen_koodattu_uri_merkkijono) |
| Erikoismerkkien koodaus | Se vaatii encodeURIComponent(url)-merkkijonon, jotta se voi purkaa nämä merkit. | Se vaatii encodeURI(url)-merkkijonon, joten se ei voi purkaa merkkejä (, / ? : @ & = + $ #) |
| Esimerkki | decodeURIComponent(%41) Palauttaa A decodeURIComponent(%26): Se palauttaa & | decodeURI(%41): Se palauttaa A decodeURI(%26): Palauttaa %26 |
URL-koodaus ja dekoodaus JavaScriptissä on ratkaisevan tärkeää saumattoman web-kehityksen kannalta. Käyttämällä toimintoja, kuten encodeURI(), encodeURIComponent(), escape(), decodeURI(), decodeURIComponent() ja unescape(), kehittäjät voivat varmistaa, että heidän URL-osoitteensa ovat oikein muotoiltuja ja palvelinten luettavissa. Tämä taito on välttämätön GET-pyyntöjen kyselyparametrien käsittelyssä ja varmistaa sujuvan käyttökokemuksen verkkosivustollasi.