小编典典

如何检测使用jQuery完成的“任何” ajax请求?

ajax

我有一个页面,我可以在其中插入一些javascript / jquery来操纵输出。我对页面标记等没有任何其他控制。

我需要在页面上的每一个出现之后通过jquery添加一个额外的元素。问题是元素是通过在$(document).ready完成之后发生的现有页面上通过异步调用生成的。

本质上,我需要一种在页面加载并且后续的ajax调用完成之后调用我的jquery的方法。有没有一种方法可以检测页面上所有ajax调用的完成情况,然后调用我自己的自定义函数在新创建的s之后插入其他元素?


阅读 284

收藏
2020-07-26

共1个答案

小编典典

不幸的是,这并不适用,因为似乎OP并未使用 或未 使用 任何jQuery
ajax方法来实际加载内容,但是将其保留在这里,以防将来的googler正在这样做。
$.ajax()
__


您可以在此处使用任何满足您需求的全局ajax事件,您可能在$.ajaxComplete()或之后
$.ajaxSuccess()

例如:

$(document).ajaxSuccess(function() {
  alert("An individual AJAX call has completed successfully");
});
//or...
$(document).ajaxComplete(function() {
  alert("ALL current AJAX calls have completed");
});

如果只想运行一些通用函数,则将它们附加到文档中(它们只是下面的事件)。如果要特别显示某些内容,例如模态或消息,可以使用它们更整洁(尽管这似乎并不是您想要的),如下所示:

$("#myModal").ajaxComplete(function() {
  $(this).fadeIn().delay(1000).fadeOut();
});
2020-07-26