Notes for a front-end developer, esyou.net

0%

JQ使用AJAX传递参数乱码解决方法

JQ与JAVA(Java使用GBK编码)使用GET传递参数总是出现乱码,网上找了很多解决办法,比如修改tomcat的sever.xml等都试了但是没有成功,最终使用encodeURI与decode就可以解决乱码问题。下面请看代码:

JQ代码:

1
//注册表单ajax查询用户名是否可用
2
$('input[name=uname]').blur(function(){
3
   $.ajax({
4
       type:'GET',
5
       url:'<%=basePath%>NameChek.Tao',
6
       dataType:'html',
7
       data:'uname='+encodeURI(encodeURI($(this).val())),
8
       beforeSend:function(XMLHttpRequest)
9
       {
10
           $('#AjaxUname').text('正在查询');
11
           //Pause(this,100000);
12
       },
13
       success:function (response,status,xhr) {
14
       $('#AjaxUname').html(response);
15
       }
16
});

Java sevelet中的代码

1
import java.net.URLDecoder;
2
response.setContentType("text/html;charset=GB2312");
3
request.setCharacterEncoding("GB2312");
4
String xuname = request.getParameter("username");
5
String uname =URLDecoder.decode(xuname,"utf-8");