警告:需要的jQuery 1.5 +
$.firstfunc = function() {
return $.ajax({});
}
$.secondfunc = function() {
return $.ajax({});
}
$(function() {
$.when($.firstfunc).then($.secondfunc);
});
使用的$.Deferred
的和$.when
魔法。
它基本上说当你第一个函数完成它的ajax调用然后调用第二个函数。
这是因为$.ajax
返回从$.Deferred
继承的jqXHR
对象。
如果您要附加一个回调当两个$.firstfunc
和$.secondfunc
完整的,那么你可以做以下(需要的jQuery 1.6):
$(function() {
$.first().pipe($.second).done(function(second_data) {
// both finished.
});
});
遗产:的jQuery 1.4.2 & 1.3.2支持。
$.firstfunc = function(cb) {
$.ajax({
success: function() {
...
cb();
},
...
});
}
$.secondfunc = ...
$(function() {
$.firstfunc($.secondfunc);
});
而且你想用什么命令?如果你希望secondfunc只在第一个Ajax响应后才执行,请在firstfunc ajax的成功函数中调用'secondfunc'。 – 2011-05-19 18:59:26