在使用ajax的时候,经常碰到的一个问题是编码问题,
因为tomcat默认的编码是ISO-8859-1,
当请求中有中文时,便会乱码.
造成这个问题的原因有两个:
1. HTTP的GET方法并没有指明编码,所以tomcat默认其为URIEncoding的编码,如果URIEncoding未指定,则可能是ISO-8859-1
2. 你可能使用了Filter
,把默认编码强制转换为GBK
或者其他的(不是UTF-8),这样的话,编码就乱了.
对于第2种,解决方法不用我说了(在Filter时,先判断request.getCharacterEncoding(),再设定编码)
对于第一种,解决方法:
在jquery.js后加一行
$.ajaxSettings.contentType = "application/x-www-form-urlencoded;charset=UTF-8";
指明ajax使用utf-8编码,这会被tomcat或者jetty自动解析.
当然,GET是没有默认编码的,所以我们应该把ajax请求的method设定为POST,例如:
$.ajax({
url:"/example/ex1.do",
type:"POST",
data:{
method:"autocomplete",
type:"中文"
},
success:function(data){
},
dataType:"json"
});
ok,现在可以去喝JAVA咖啡了
分享到:
相关推荐
jquery+asp ajax 中文乱码问题解决文档
GBK编码下jQuery_Ajax中文乱码解决方案
简单整理的乱码处理方案,jquery的ajax解决UTF-8以及GBK的问题
Asp中用法JQuery的AJAX提交中文乱码解决方法_.docx
JQuery AJAX 中文乱码问题解决,需要的朋友可以参考一下
Jquery $.ajax 请求部署在 Tomcat报HTTP 406上解决方法
jQuery-ajax-用户名异步请求,转载请注明出处:https://blog.csdn.net/qq_40374604(如有需要欢迎留言,我一定会尽快解答)
jQuery_AJAX网页系统jQuery_AJAX网页系统
用struts2+jquery的ajax的几个小例子,级联,自动补全等,没有数据库,直接就运行。
jquery .ajax 局部刷新之后 刷新内容无法调用js.
主要介绍了JQuery发送ajax请求时中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
资源名称:J2EE中JSON Jquery_AJAX应用 中文PDF版内容简介:本文档主要讲述的是J2EE中JSON Jquery_AJAX应用;主要是描述使用JSON JQuery_AJAX实现页面动态加载与页面表单数据的异步保存。首先页面通过调用JQuery_...
Jquery跨域访问Web服务的demo源码
jquery 的ajax用法,简单的入门ajax用法,供大家参考
jquery和ajax的集成例子 jquery和ajax的集成例子 jquery和ajax的集成例子
基于jquery的ajax的网络聊天室
Jquery serialize() 中文乱码及解决方法 的文档形式 Jquery
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: var source=[]; $.ajax({ ...
jquery 1.32支持GBK post不会乱码了。啊啊
一个完整的jquery+ajax传送请求的实例