1. 程式人生 > >URL引數中&和+被轉成空格

URL引數中&和+被轉成空格

     在ajax傳輸密碼串的時候,密碼總是報錯,檢視日誌發現密碼串有很多的空格,檢視在非ajax中傳輸的密碼串,發現密碼串中的&和+都被轉義成了空格。

      檢視網上的資料[1]發現   web開發中通過問號(?)方式在瀏覽器位址列中傳值時。瀏覽器是通過“&”來區分問號後的引數個數的。 如果出現傳值引數中帶有“&”時,在接受頁面就會出現錯誤,類似如下請求路徑:/next.jsp?param1=hendhs89&furej & param2=sss

  引數param1中含有轉義字元“&” ,這樣會導致被請求頁的引數接收錯誤。

       我們當時的做法是

    
 var pay_pswd = $("#pay_pswd").val();
    // 增加把&和加號處理成空格的問題
    pay_pswd = pay_pswd.replace(/\+/g, "%2B");
    pay_pswd = pay_pswd.replace(/\&/g, "%26");

當然可能還有其他做法,但是我們只用把+和&進行轉義的方法,這是用的是URL編碼表[2] 。