今天在用jquery.ajax()方法时,页面传的值到后台是乱码,解决这个问题有两个方法:
方法一:用方法encodeURI() ,一定是两个encodeURI()
前台页面处理方法如下:我这的编码为UTF-8,如下所示:
$.ajax({
url:"getIsAddWorkToday.action?1=1&workName="+encodeURI (encodeURI(empName)),
cache:false,
type:"post",
contentType:”text/html;charset=utf-8”,
success:function(text) {}
});
后台也要做相应处理方法如下:
String workName =request.getParameter("workName");
if (!"".equals(workName) && workName !=null) {
workName = java.net.URLDecoder.decode(workName,"utf-8");
}
方法二:给ajax()方法加一个属性contentType
contentType类型:String默认值:"application/x-www-form-urlencoded"。它是发送信息至服务器时内容编码类型。一般我们设置为text/html即可.如下所示
$.ajax({
url:"getIsAddWorkToday.action?1=1&workName="+empName,
cache:false,
type:"post",
contentType:”text/html;charset=utf-8”,
success:function(text) {}
});
总结的也许存在问题,希望大家能给出意见。