ajaxStop 有时在 ajaxStart 后未触发

尼玛萨德普尔

我使用ajaxStartajaxStop以这种方式显示和隐藏加载:

    $(document).ajaxStart(function () {
        $.LoadingOverlay("show", {
            fade:[100,100]
        });
    });

    $(document).ajaxStop(function () {
        $.LoadingOverlay("hide", {
            fade: [100, 100]
        });
    });

此代码有效。但有时ajaxStop功能没有触发,您必须按F5键重新加载页面。因为显示从ajax 开始加载并没有隐藏。

我找不到问题。

我的jQuery版本是2.2.4

更新

我用ajaxComplete而不是ajaxStop但是,也有同样的问题。

  $(document).ajaxStart(function () {
        $.LoadingOverlay("show", {
            fade:[100,100]
        });
    });

    $(document).ajaxComplete(function () {
        $.LoadingOverlay("hide", {
            fade: [100, 100]
        });
    });

还有什么有用的吗?

阿卜杜拉赫曼·戈巴拉

使用ajaxComplete

ajaxComplete会在 ajax 请求完成时调用,无论是成功还是错误。

当所有 ajax 请求完成时调用ajaxStop因此,与 ajaxComplete 不同的是,如果仍有正在进行的请求,则不会调用它。

如果您要为每个 ajax 请求执行操作,您应该使用第一个

@sje397 来自https://stackoverflow.com/a/4419387/1475257

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章