关于ajax请求 的处理方式

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:
? ? ? ? });

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。