ajax部分乱码,可恶的乱码!ajax也乱码!

好奇怪工作这么长时间,居然是在自己的练手小项目上发现了这个问题。 ajax的默认编码是utf-8! 无论是xmlhttp返回的数据 还是post提交的数据都是以utf-8 编码形式的数据 中午我还苦恼了一阵 为什么表单提交的数据就不乱码,用ajax提交的就乱码呢??? 我本身项目是gbk编码的,而且使用了全局过滤器来规避编码形式 都是gbk的。 就因为ajax post过去的数据是UTF-8的,而项目是GBK的 所以会产生乱码。 而前台返回的数据没有乱码是因为 我当时提前在servlet 中增加了

resp.setContentType("text/html;charset=gbk");

所以就算是ajax返回的数据是utf-8,被哥哥我这么一转码 也不会乱码了。 但是request.getParameter 得到的数据还是会乱码 解决方法 是需要前后台同时协作完成的! 前台js:

$.post('check.action',{username:encodeURI($('#username').val())},function (data,textStatus){

var flag = data.flag;

var msg = data.msg;

switch (flag){

case 0:

$('#username +p').find('small').css('color','red');

$('#username + p').find('small').text(msg);

break;

case 1:

$('#username + p').find('small').text(msg);

$('#username +p').find('small').css('color','green');

break;

}

},'json');

利用encodeURI将数据进行encode

后台java:

userName = URLDecoder.decode(userName,"UTF-8");

总结

以上是编程之家为你收集整理的可恶的乱码!ajax也乱码!全部内容,希望文章能够帮你解决可恶的乱码!ajax也乱码!所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值