url传递参数中有特殊字符时前后台处理

在项目中用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");

 

posted @ 2020-08-07 16:09  霞光里  阅读(1999)  评论(0编辑  收藏  举报