日期:2014-05-16  浏览次数:20317 次

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");



这样就可以了