我希望在操作完成后有一个回调函数,我正在尝试以下操作:
$。何时(
$('#detail1').load('/getInfo.php'),
$('#detail2').load('/getOther.php'))
).然后(函数(a,b){
警惕(“完成”);
});
问题是回调函数在操作完成之前启动
这是因为jQuery.when()需要jQuery.Deferred实例,而load()返回jQuery实例(请参阅http://api.jquery.com/jQuery.when/ 和http://api.jquery.com/load/)
您可以解决此问题:
//创建两个可传递给$.when()的延迟实例
var d1=新的美元递延();
var d2=新的美元递延();
//建立活动链。。。
$.when(d1,d2).then(function(){
警报(“完成”);
});
//最后:进行实际的ajax调用:
$('#detail1').load('/getInfo.php',function(){d1.resolve();});
$('#detail2').load('/getOther.php',function(){d2.resolve();});