URL kodavimas
Kai kurie simboliai negali būti rodomi URL adresuose (pvz., tarpuose), kiti turi specialias reikšmes URL. Turime konvertuoti specialiuosius simbolius, kad jie atitiktų sintaksę, apibrėžtą W3 URI specifikacijoje (RFC 3986). Tai reiškia, kad URL turi būti tik specialaus ASCII simbolio poaibis: mums pažįstamos raidės ir skaičiai, taip pat kai kurie rezervuoti simboliai, kurie URL naudojami kaip kontroliniai simboliai.
URL kodavimo apdorojimas "JavaScript"
"JavaScript" įtaisytąsias funkcijas encodeURIComponent() ir encodeURI() galima užkoduoti URL, pakeičiant rezervuotus URL simbolius UTF-8 užkoduotais simboliais.
Dauguma naršyklių automatiškai koduoja URL, pvz., koduoja tarpus į %20, tačiau visada yra keletas išimčių. Laimei, naršyklės teikia integruotas URL kodavimo ir dekodavimo funkcijas: encodeURI, encodeURIComponent ir decodeURI, decodeURIComponent. Kyla klausimas, kaip naudotis šiomis funkcijomis ir kuo jos skiriasi.
encodeURI()
URL kodavimas eilutė yra paprasta, tiesiog skambinkite encodeURI ir perduoti eilutę, kurią norite koduoti. Ši funkcija grąžina užkoduotą URL.
decodeURI()
Ši funkcija iššifruoja ir iškviečia funkciją decodeURI, perduodama užkoduotą eilutę, o tada grąžina iššifruotą normalią eilutę.
encodeURIComponent()
Funkcija encodeURIComponent turėtų būti naudojama užklausos eilutės parametrų reikšmėms koduoti. Skirtumas tarp encodeURI ir encodeURIComponent yra tas, kad encodeURIComponent koduoja visą eilutę, o encodeURI ignoruoja protokolo priešdėlį ("http://") ir domeno vardą. encodeURIComponent yra skirtas koduoti viską, o encodeURI ignoruoja domeno vardo dalį URL. Kai jūsJei norite užkoduoti parametro reikšmę URL, pasirinkite funkciją encodeURIComponent。
decodeURIComponent()
Funkcija decodeURIComponent iššifruos užkoduotą funkcijos encodeURIComponent eilutę ir atkurs įprastą jos turinį.
Peržiūra:
|