【问题标题】:Jquery Ajax Start and Stop method with fetch api带有 fetch api 的 Jquery Ajax 启动和停止方法
【发布时间】:2016-10-30 08:33:35
【问题描述】:

我想使用 Jquery 启动和停止方法来显示和消失我的微调器,但是当我使用 fetch api 时,我似乎无法使用 jquery ajax 启动和停止方法。 我怎么能绕过这个?

$(document)
    .ajaxStart(function() {
        $buffer.show();
    })
    .ajaxStop(function() {
        $buffer.hide();
    })
;
fetch(url)
    .then(data => data.json())
    .then(thisObj => writeOnTheScreen(thisObj))
    })
;

【问题讨论】:

  • 一旦你可以做到这一点,就是在执行你的ajax调用之前向你展示微调器,一旦完成(ajax调用),你就可以隐藏它。

标签: javascript jquery fetch-api


【解决方案1】:

试试这个,它对我有用:

$(document).ajaxStop(function () {
    $('.ui-loader').hide();
});
$(document).ajaxStart(function () {
    $('.ui-loader').show();
    setTimeout(function () {
        $('.ui-loader').hide();
    }, 10000);
});

注意:如果 async = false,则它不起作用。

【讨论】:

    【解决方案2】:

    理想情况下,它应该可以工作,请检查您正在使用的 jquery 的版本,并且您应该将您的处理程序绑定到文档

    $(document).ajaxStart(function() {
       alert('ajax started');
    });
    

    你也可以使用第三方,Pace很容易实现。

    【讨论】:

    • 我使用 fetch api 作为标题说不是 $.ajax
    • 如果你使用的是 fetch api,那么你可以使用 Promise 来通知它何时完成。
    猜你喜欢
    • 2011-07-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多