在進行文件下載的操作時,通過後臺傳遞來的文件名來下載,但是文件名中包含了 & 符號
在後臺進行request.getParameter獲取時,自動將&後面的字符串給截取了,所以獲取不到正確的文件名無法下載,
解決方法就是將 & 符號進行轉譯。這裏記錄一下傳參是特殊符號的處理。
將特殊字符轉碼爲16進制的對應的轉碼爲
- +URL中+號表示空格%2B
- 空格URL中的空格可以用+號或者編碼%20
- /分隔目錄和子目錄%2F
- ?分隔實際的URL和參數%3F
- %指定特殊字符%25
- #表示書籤%23
- &URL中指定的參數間的分隔符%26
- =URL中指定參數的值%3D
function ReplaceAll(str, sptr, sptr1){ while (str.indexOf(sptr) >= 0){ str = str.replace(sptr, sptr1); } return str; }
但是此方法有陷入死循環的可能,
var ss = 'abc'; alert(ReplaceAll(ss,'b','bc'));