jquery的$.ajax() $.post() $.getJSON() 等ajax方法时,中文参数乱码问题
2013-04-05 13:22
567 查看
在使用jquery的$.ajax() $.post() $.getJSON() 等ajax方法时,难免会有用到中文参数的问题,在后台接收的中文参数是乱码,解决方法如下:
$.ajax({
dataType : ‘json’ ,type : ‘POST’ ,url : ‘http://localhost/test/test.do’ ,data : {id: 1, type: ‘商品’} ,success : function(data){ } } );
问题:
提交后后台action程序时,取到的type是乱码
解决方法:
方法一:提交前采用encodeURI两次编码,记住一定是两次
1.修改以下代码
data:{id:1, type:encodeURI(encodeURI(‘商品’))}
2.在后台action里要对取得的字符串进行decode
1、String type = request.getParameter(“type”);
2、type = URLDecoder.decode(type, “UTF-8″);
方法二:ajax配置contentType属性,加上charset=UTF-8
在ajax方法中加入以下参数
contentType: “application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差不多,设置header中contentType即可,
这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的
绝对可以的方法:
/article/9405412.html 可以看这个,是提供一个手写java类用16进制解决的,跟方法一有点点类似
这里讲的是ajax(),其它post() getJSON() 方法是一样的 ,ajax有contenType属性,其它好像没有,这个有时候没用,具体原因不知道。。。。
有更方便的解决方法,希望留言告诉一下!谢谢!
$.ajax({
dataType : ‘json’ ,type : ‘POST’ ,url : ‘http://localhost/test/test.do’ ,data : {id: 1, type: ‘商品’} ,success : function(data){ } } );
问题:
提交后后台action程序时,取到的type是乱码
解决方法:
方法一:提交前采用encodeURI两次编码,记住一定是两次
1.修改以下代码
data:{id:1, type:encodeURI(encodeURI(‘商品’))}
2.在后台action里要对取得的字符串进行decode
1、String type = request.getParameter(“type”);
2、type = URLDecoder.decode(type, “UTF-8″);
方法二:ajax配置contentType属性,加上charset=UTF-8
在ajax方法中加入以下参数
contentType: “application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差不多,设置header中contentType即可,
这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的
绝对可以的方法:
/article/9405412.html 可以看这个,是提供一个手写java类用16进制解决的,跟方法一有点点类似
这里讲的是ajax(),其它post() getJSON() 方法是一样的 ,ajax有contenType属性,其它好像没有,这个有时候没用,具体原因不知道。。。。
有更方便的解决方法,希望留言告诉一下!谢谢!
相关文章推荐
- 记解决jQuery $.getJSON() 传递参数中文乱码问题的方法
- json传递中文乱码解决方法以及解决request.getParameter()获取参数为乱码的问题
- asp.net jquery getjson 传递中文参数乱码问题
- jquery getJson 中文字符参数乱码问题
- 解决jQuery $.getJSON() 传递参数中文乱码问题
- 解决jQuery $.getJSON() 传递参数中文乱码问题
- jquery getJson 中文字符参数乱码问题
- jquery getJson 中文字符参数乱码问题
- 【转载】jquery getJson 中文字符参数乱码问题的解决办法
- 解决jQuery $.getJSON() 传递参数中文乱码问题
- asp.net jquery getjson 传递中文参数乱码问题
- 解决get方法传递URL参数中文乱码问题
- jquery.get的参数中文自动编码与header(\'Content-type: text/html; charset=gbk\');乱码问题
- 前端使用Jquery的getJSON方法,后台使用PHP,解决IE和火狐Firefox中存在的跨域ajax请求问题。
- JSP、AJax中文乱码问题解决,escape(), encodeURI(), encodeURIComponent(),js对参数连续两次调用 encodeURI(String) 方法
- 解决get方法传递URL参数中文乱码和解决tomcat下中文乱码问题
- 关于spring mvc的get方法传递中文参数时乱码问题(@RequestParam)
- jsp中 ajax的get请求的中文乱码问题的解决方法
- get请求时候参数中含有“中文”字段出现乱码问题的原因和解决方法
- 解决get方法传递URL参数中文乱码问题