escape加號被過濾解決方法(轉)

      今天我在調程序時,遇到了見鬱悶的事,我用ajax從前臺顯示頁面傳字符串變量給處理頁面,出現了件怪事,我想傳的內容是abc+,但接收以後用System.out.println()輸出是abc空格。反覆測試好幾遍,都是這個結果,真是令人鬱悶。在網上搜了搜,找到了原因。原因:   url中有些字符被轉義,比如空格被編碼成加號,於是傳的參數明明是加號,獲取的值卻成了空格。如何解決呢?如果是通過url傳遞參數,應該對其進行必要的編碼。 解決辦法: 在javascript中加入  

function URLencode(sStr) {    return escape(sStr).replace(//+/g, '%2B').replace(//"/g,'%22').replace(//'/g, '%27').replace(////g,'%2F');} 對字符串進行處理.如:var str=URLencode("abc+")

其中replace 中使用的是正則表達式的方式。

/g 表示全文替換

//+/表示匹配加號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章