暂停当前​​ajax调用,执行一个新的,执行后,继续默认的ajax调用

时间:2011-10-26 12:39:39

标签: javascript jquery ajax

我不确定这是可能的。

我在按钮点击事件期间执行了两次ajax调用。 第一个ajax调用是使用jquery ajax post将数据添加到数据库。 第二个是通过jquery ajax post也将另一组数据添加到数据库

第一个将首先执行,然后执行第二个。我已经将计时器设置为第二次调用(windowstimeout),以创建两次执行之间的时间间隔,以测试我是否可以暂停第一次ajax调用。

你会问我为什么我不想结合这两个电话。我有理由这样做,我想知道是否真的可以暂停ajax调用。我在网上搜索,我找到的只是ajaxstop(jQuery)但它并没有真正暂停它,它停止了ajax调用。

所有人都有任何想法这样做?感谢。

3 个答案:

答案 0 :(得分:2)

你为什么要暂停它?你不能,但为什么你想要?让它们都运行,或者在第二次完成之前不要触发第一次通话。

答案 1 :(得分:1)

不,您无法暂停Ajax调用 - 它们只是正常HTTP请求/响应周期的实例,并且表现如此。如果第二次调用产生的服务器端操作取决于第一次调用的结果,那么为什么不直接链接调用并在第一次调用成功回调处理程序中触发第二次调用?

答案 2 :(得分:1)

你做不到。

您应该问问自己数据交换协议的设计是否正确。

暂停请求(无论通信协议是什么,AJAX或其他任何协议)都不应该起作用,因为您无法知道是否有其他请求及其执行的操作。

所以问自己一些问题:我的确切需求是什么?有什么其他方法可以做到这一点?