在項目中用ajax post 傳遞參數到后台,發現我的參數中有特殊字符會被過濾掉或者轉義,但是有時候后台需要這些字符。解決方法記錄如下
比如windows創建文件夾不支持特殊字符串:/^.*[\\/*:"?<>|].*$/
傳參的時候前台js使用encodeURIComponent()函數編碼轉義:
var keyword=encodeURIComponent($.trim($('#txtKeyword').val()));
后台使用 java.net.URLDecoder類中的方法解析:
String keyword = URLDecoder.decode(rquest.getParameter("keyword"), "UTF-8");
java后台編碼和解碼:
String keywords_e=URLEncoder.encode(keywords,"UTF-8");
String keywords_d=URLEncoder.decode(keywords,"UTF-8");