javascript - 如何使用 jquery 和 deferreds 改进 Ajax 调用?

标签 javascript jquery ajax

我正在 $(document).ready(function(){} 中进行四个或更多 ajax 休息调用。 作为一种破解,我将 .done() 添加到最大的调用中。这是工作。”我想改进并为页面的一部分而不是整个页面添加旋转 gif。我尝试了整个 body 的方法,微调器在我的页面转换时启动。我想避免这种情况。

$.getJSON("//urls", function( data ) { data122 = data });
$.getJSON("//urls", function( data ) { data212 = data});
$.getJSON("//urls", function( data ) { data21 = data});
$.getJSON("//urls", function( data ) { data12 = data});


$.getJSON("//urls", function( data ) { survey = data})
    .done(function() {

}

最佳答案

另一种选择是使用延迟:

$(function() { // on document ready
    $("#spinner").show(); // show the spinner

    var a = $.getJSON(...);
    var b = $.getJSON(...);
    // more calls...

    $.when(a,b).always(function() {
        $("#spinner").hide();
    });
});

http://api.jquery.com/category/deferred-object/

关于javascript - 如何使用 jquery 和 deferreds 改进 Ajax 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25063324/

相关文章:

javascript - CSS - 未选中时单选按钮样式更改

javascript - 仅针对被单击的某些链接文本发送警报

jquery - 将表中的所有选择元素设置为与其列中最宽的元素相同的宽度

jquery - 在 Rails 5.1 中使用 yarn 时,我还应该使用 Gemfile 的 javascript 库吗?

jquery - 克隆 div 中输入 block 的 AJAX 更新

javascript - 在通用错误处理函数中获取失败请求的详细信息

javascript - 仅为智能手机加载不同的javascript

javascript - 使用 JavaScript 从数据库中获取数据并将其存储到数组中

javascript - angular js获取刷新 token

javascript - 加载页面内容而不刷新/