1. escape() 不能直接用于URL編碼,它的真正作用是返回一個字符的Unicode編碼值。比如“春節”的返回結果是%u6625%u8282,escape()不對"+"編碼主要用于漢子編碼,現在已經不提倡使用了。
2. encodeURI()是javascript中真正用來對URL編碼的函數。編碼整個URL地址,但對特殊含義的符號";/?:@&=+$,#",也不進行編碼。對應的解碼函數是decodeURI()。
3. encodeURIComponent()能編碼";/?:@&=+$,#"這些特殊字符。對應的解碼函數decodeURIComponent()。假如要傳遞帶&符號的網址,所以用encodeURIComponent()
總結,有次需要在前臺傳個"+"符號到后臺中,沒想到到了后臺中自動解碼成了空格,最后查到url中“+”對應的后臺就是空格,空格在前臺會自動變成+傳到后臺,所以開始要對"+"進行編碼,如果確定參數中可能有會有"+"的話,傳值之前首先對它進行encodeURIComponent()對它進行編碼,到后臺取值的時候會變成"+"。
以上這篇javascript url幾種編碼方式詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答