我可能错过了一些明显的东西,但我似乎无法让我的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('' + data + '
'); }); });
在fetch.php
,我已经拥有它,sleep(2)
所以我可以确保它正常工作.它似乎是在同时运行所有这些广告号,而不是等待第一个POST在继续执行数组中的下一个广告号之前完成.
我猜$.post()
它在完成之前就回来了?避免这种情况的最佳方法是什么?
尝试添加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('' + data + '
'); } }); });