兩種方法解決javascript url post 特殊字符轉(zhuǎn)義 + & #

字號(hào):


    本文主要介紹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("#")));