//dataFilter方法如果出现在$.ajax()中,都会影响输出结果,那怕dataFilter方法是个空函数
//$.ajax()中 ,jQuery默认是不出现的。
html:
$(function(){
$.ajax({
type:"get",
data:{"loginuser":"li"},
dataType:"jsonp",
jsonp:"call",
jsonpCallback:"fn",
success:function(res){
alert(res);
},
url:"http://localhost/aa.php",
beforeSend:function(xhr){
//for(var pro in this){ document.write(pro+"--------"+this[pro]+"
");}
alert("beforeSend");
},
dataFilter:function(data, type){
//返回处理后的数据
//(个人觉得) type改变后,传到success,jQuery还是要进一步处理,改变无效
return fn(123);//返回的数据形式要保证和服务器返回的数据形式一样
},
complete:function(xhr){
alert("complete");
}
});
});
function fn(data){
alert(data);
}
服务器文件:
header("content-type:text/html;charset=utf-8");
$ss="aaaaaaaaa";
$call=$_GET["call"];
//$txt="""."liJohnReminder".""";
$txt="{"name1":"xu"}";
//$txt=""aaaaaaaaa"";
$res=$call."(".$txt.")";
echo $res;
?>
该博客探讨了在jQuery的$.ajax()方法中使用dataFilter函数如何改变数据处理过程,即使dataFilter仅为空函数也会对输出结果产生影响。通过一个具体的示例,展示了dataFilter如何在回调函数中处理服务器响应数据,并且强调了返回数据格式的重要性,以确保与服务器返回的数据一致。
738

被折叠的 条评论
为什么被折叠?



