首页 > 解决方案 > 在每次 AJAX 成功响应后,在每次循环迭代中发送 AJAX 请求

问题描述

我有一个 id 数组,我需要用单独的 AJAX 请求发送每个 id。但是数组中的每个 next id 都需要在 AJAX 收到服务器对 previuse 请求的成功响应后发送。

var idsArrays = [2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020 ];

    $.each(idsArrays, function( index, value ) {
        var data = "id="+value;
        $.ajax({
            type: 'POST',
            url: formRequiredAction,
            data: data,
            dataType: 'json',
            success: function(resp){
                console.log('success ' + resp);
            },
            error: function(resp){
                console.log('error ' + resp);
            },
        });
    });

如何设置暂停或等待下一次迭代的时间,直到 ajax 收到来自服务器的成功响应?

标签: javascriptphpjqueryajax

解决方案


只需使您的 ajax 同步并检查调用是否成功即可。编辑:忘记它是一个 .each 所以 break 不起作用。只需使用返回。

 $.each(idsArrays, function( index, value ) {
    var data = "id="+value;
    var success = true;
    $.ajax({
        type: 'POST',
        url: formRequiredAction,
        data: data,
        dataType: 'json',
        success: function(resp){
            console.log('success ' + resp);
        },
        error: function(resp){
            console.log('error ' + resp);
            success = false;
        },
        async: false
    });
    if(!success){
       return false;
    }

});

推荐阅读