有些符号在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符号,那麼就要使用他們的編碼了,例如%指定特殊字元,編碼為%25、 #表示書簽,編碼為%23、 &表示參數間的分隔符,編碼為%26,由兩種方法解決:
(1)可以用replace方法替換成編碼
data2=data2.replace(/\%/g,"%25");
data2=data2.replace(/\#/g,"%23");
data2=data2.replace(/\&/g,"%26");
(g表示全局比對,即替換掉字元中所有的空格和換行,i表示忽略大小寫,gi表示全局比對并忽略大小寫)
(2)java提供了對文字進行編碼的3個函數:
escape
encodeURI
encodeURIComponent
主要用法有:
傳遞參數時需要使用encodeURIComponent,這樣組合的url才不會被#等特殊字元截斷,例如:url:'ViewBillers?outdata='+encodeURIComponent(outdata1),
進行url跳轉時可以整體使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");