我正在尝试运行2个函数,然后在单击处理程序中重新定位用户。代码如下。
$(".myLink").click( function() {
function1(param1); // This function contains an ajax call that updates a DB.
function2(param1); // This function does as well.
window.location="foo.php";
});
当我的window.location正确重定位时,函数没有正确触发。我坚持使用jQuery 1.43所以我不能使用延迟对象。
处理上述编排的可接受架构是什么。
答案 0 :(得分:4)
回调
$(".myLink").click( function() {
function1(param1, { success: function() {
function2(param1, { success: function() {
window.location = "foo.php";
}});
}});
});
也许是这样,这将允许他们同时开火:
$(".myLink").click( function() {
completed = 0;
var success = function() {
completed++;
if (completed === 2) {
window.location = "foo.php";
}
}
function1(param1, { success: success });
function2(param1, { success: success });
});
如果没有合适的Defered
库,基本上就是这样做的。
答案 1 :(得分:1)
第一个ajax调用的success
函数必须触发第二个ajax调用。