我正在使用一个执行ajax调用的函数(它相当大),因为我必须在多个地方使用它,这是一个相当大的ajax调用。之后我手动调用另一个ajax调用来相应地更新页面上的一些内容。我遇到的问题是第二个调用在第一个调用完成之前运行。
我希望做一些像function()。done(在这里运行其他调用)。我不希望第二个函数运行,直到第一个函数完成并更新了数据库,因为第二个函数应该提取新信息。
在jquery中这样的事情可能吗?
答案 0 :(得分:3)
正如你所说,你可以在Ajax电话上调用.done()
!
以下是取自jQuery documentation:
的示例代码$.ajax({
url: "test.html",
context: document.body
}).done(function() {
$( this ).addClass( "done" );
});
答案 1 :(得分:0)
我建议你在ajax成功上调用你的函数:
$.ajax({
url: "yourUrl",
//...o
success: callNextFunction(),
error: rollBackFunction()
});
function callNextFunction(){
//your code here
}