關(guān)于url編碼,js有三個函數(shù)。
有三個解碼方法,escape,encodeURI,encodeURIComponent()。
有三個解碼方法,unescapse,decodeURI,decodeURIComponent。
1、escape()不能直接用于URL編碼,它的真正作用是返回一個字符的Unicode編碼值。比如"春節(jié)"的返回結(jié)果是%u6625%u8282,,escape()不對"+"編碼主要用于漢字編碼,現(xiàn)在已經(jīng)不提倡使用。對應(yīng)的解碼函數(shù)是:unescapse
2、encodeURI()是Javascript中真正用來對URL編碼的函數(shù)。編碼整個url地址,但對特殊含義的符號"; / ? : @ & = + $ , #",也不進行編碼。對應(yīng)的解碼函數(shù)是:decodeURI()。
3、encodeURIComponent()能編碼"; / ? : @ & = + $ , #"這些特殊字符。對應(yīng)的解碼函數(shù)是:decodeURIComponent()。
如果要傳遞帶&符號的網(wǎng)址,所以用encodeURIComponent()