特殊字符,# + %在url中传递,encode方式加密处理

来源:互联网 发布:黎活明 知乎 编辑:程序博客网 时间:2024/05/17 04:08

前端部分,
encodeURIComponent编码要传递的url

var send_data={'name':'2123##%&+212'}url: g_url+ "goods/add/data/" + encodeURIComponent(encodeURIComponent(JSON.stringify(send_data))),

后端接受需要URLDecoder

String s = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");

或者前端两次编码

JavaScript:url : "searchbytext.action?send_data="+encodeURIComponent(encodeURIComponent(send_data));

为什么要两次编码的原因:后台java代码给send_data赋值的时候,本身已经使用了一次解码,不过解码的结果依然不对。所以我们可以在页面上进行两次编码操作,这样后台自动的那次就可以抵消掉一次,然后在使用send_data=java.net.URLDecoder.decode(send_data,”UTF-8”);进行一次解码就好了。

    send_data=java.NET.URLDecoder.decode(send_data,"UTF-8");
原创粉丝点击