adgjlxxx 2013-05-13
JQuery的1.5之后提供了Deferred和Promise两个对象来处理相应的同步请求
在1.5之前,当调用了一个ajax之后,会返回xhRequest。在1.5之后就返回promise对象,
promise对象可以来获取不同情况的处理方式
//调用ajax之后返回的是一个promise对象。可以通过这个对象来进行成功或者失败之后回调处理
//var promise = $.ajax("02.html",{dataType:"html"});
//使用promise对象可以设定在执行完成和失败的操作
/*promise.done(function(data){
//成功的时候处理的操作
alert(data);
alert(($(data).filter("h1")).length);
}).fail(function(data){
//失败的时候处理的操作
}).done(function(data){
//使用这种方式,可以执行多个回调函数操作
$("body").html($(data).filter("h1").html());
});*/
//可以使用then来替换done和fail,第一个参数就是成功之后的操作
//第二个参数就是失败之后的处理函数
/*promise.then(function(data){
alert(data);
},function(data){
alert(data);
})*/
//可以使用when来指定在多个ajax程序执完毕行之后才进行操作
/**
可以传入多个调用,在处理的时候可以通过多个参数来接受信息
**/
var promise = $.when($.ajax("02.html",{dataType:"html"})
,$.ajax("03.html",{dataType:"html"}));
promise.done(function(data1,data2){
alert(data1);
alert(data2);
}).fail(function(){
})