如何知道最后一次AJAX调用在jQuery中完成?
问题描述:
我的一个页面有大约5个jQuery AJAX调用,只要页面加载就会触发。我知道我可以单独跟踪每个AJAX调用并知道它何时完成,但有什么方法可以将它们作为一个整体进行跟踪?这样,我会知道最后一次AJAX调用何时完成,并且可以发出UI更改的信号。如何知道最后一次AJAX调用在jQuery中完成?
我想我可以保持“有效”呼叫数量的运行计数,并在每次呼叫完成时检查该号码,但有没有更好的雄辩解决方案?
答
你可以使用队列/出队这对于任何功能有用来电:
http://jqueryfordesigners.com/api-queue-dequeue/
你可以把你的UI功能的队列末尾。
不好的一面是它会导致你的功能同步。
答
ajax对象有一个特定的方法:complete()当请求结束时(执行成功和错误回调后)触发。
$.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
complete: function(){
alert("action finished");
}
});
适合我的作品。 – 2015-07-21 09:37:29