JS提交请求url中存在中文的问题的一个解决方案
在项目中经常回存在通过JS去请求操作的事件发生,而这些请求的url链接又通常会使用到中文。
而这些中文在JS中可以正常alert出来,但是提交给后台时就显示成乱码了。
这里提供一个解决方案,基本原理就是在JS中将中文转码成URI方式,如下:
var queryTitle = document.getElementById('queryTitle').value;
queryTitle=encodeURI(queryTitle);
queryTitle=encodeURI(queryTitle); //据说需要转2次
然后在后台获取的时候,解码URI:
String newTitle = request.getParameter("newTitle");
newTitle = java.net.URLDecoder.decode(newTitle, "utf-8");
这样就可以了