本文主要介紹javascript使用url傳值的時(shí)候數(shù)據(jù)丟失的問題,希望對(duì)大家有所幫助。
最近在用url 傳特殊字符的時(shí)候發(fā)現(xiàn)數(shù)據(jù)丟失了。
其實(shí)不是丟失,比如 ‘+'它會(huì)當(dāng)成連接字符來處理了。
一、替換成16進(jìn)制字符,在這列幾個(gè)常用的轉(zhuǎn)換
+ | 空格 | / | ? | % | & | = | # |
%2B | 20% | %2F | %3F | 25% | 26% | &3D | 23% |
代碼如下:
var post_Str = apply_name.replace(/\+/g, "%2B");//"+"轉(zhuǎn)義
var post_Str= post_Str.replace(/\&/g, "%26");//"&"
var post_Str= post_Str.replace(/\#/g, "%23");//"#"
二、如果遇到了其他的特殊字符,可以用下面的方法看一下把它轉(zhuǎn)成啥,直接按照上面的方法寫一個(gè)就行了
代碼如下:
alert(encodeURIComponent("-"));//轉(zhuǎn)碼,得到結(jié)果就OK了吧,下邊是解碼,這里是用不到的
alert(decodeURIComponent(encodeURIComponent("#")));