1.通过$.post(url,param,callback,dataType);发送Ajax请求时,如果不指定dataType,
前台页面中要使用eval将返回数据转换成json格式eval("(" + data + ")");//以json格式获取数据
但是在火狐浏览器中会返回的data为[object XMLDocument],
处理办法:在服务器端的getWriter.print();前面加上一行代码
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
指定其相应格式,
但是如果在每个服务器端的Ajax请求方法中都手动指定相应格式,不说代码冗余,影响系统系统,单纯从规范来说,也是不可取的,
那么,就有了第二种方法:
2.指定jsp页面请求Ajax时指定其数据类型:dataType为json
例:
$.post(url,param,function(data){ },"json");
这样处理后,服务器端就不需要再指定其ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
3.也可以通过 Ajax的“完整版”指定数据类型
$.ajax({
url: ""
dataType:""
callback:
});