ajax中文乱码

       一开始是发现数据查询不出来,在后台打印了参数也没什么发现,在调用length才发现长度不对,

才加上了trim方法,就查出来了,咋看好像没什么问题,然而我的参数不是前台输入获取的,

整个过程没有机会输入空格这玩意……那空格是哪来的?

        这才想到了是用ajax传递参数时的中文乱码问题,下面是解决办法,建议只要使用ajax传参都这么做。

前台页面:

var params = "val1="+val1+"&val2="+val2;	//任意要传的参数
	xmlHttp.open("POST",url,true);			//url是到后台的路径	
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	xmlHttp.send(encodeURI(params));		
	...//callback等等

 后台:

String val1=request.getParameter("val1");
val1= URLDecoder.decode(val1,"utf8"); 
String val2=request.getParameter("val2");
val2= URLDecoder.decode(val2,"utf8");

相关推荐