连续的,不是并发的jQuery AJAX帖子

cee*_*yoz 2 ajax jquery post

我可能错过了一些明显的东西,但我似乎无法让我的AJAX帖子连续运行而不是与jQuery同时运行.

ad_numbers 是一个数字ID数组.

$(ad_numbers).each(function() {
  ad_number = $.trim(this);

  if(!ad_number) { return true; }

  $.post('/fetch.php', { ad_number: ad_number }, function(data, textStatus) {
    $('#log').prepend('<p>' + data + '</p>');
  });
});
Run Code Online (Sandbox Code Playgroud)

fetch.php,我已经拥有它,sleep(2)所以我可以确保它正常工作.它似乎是在同时运行所有这些广告号,而不是等待第一个POST在继续执行数组中的下一个广告号之前完成.

我猜$.post()它在完成之前就回来了?避免这种情况的最佳方法是什么?

Pao*_*ino 7

尝试添加async: false您的选项.

$(ad_numbers).each(function() {
    ad_number = $.trim(this);

    if(!ad_number) { return true; }

    $.ajax({
        type: 'POST',
        url: '/fetch.php',
        data: {ad_number: ad_number},
        async: false,
        success: function(data, textStatus) {
            $('#log').prepend('<p>' + data + '</p>');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)