如何在循环中等待jQuery ajax请求完成?

8 浏览
0 Comments

如何在循环中等待jQuery ajax请求完成?

我有这段代码:

for (var i = 0; i < $total_files; i++) {
  $.ajax({
    type: 'POST',
    url: 'uploading.php',
    context: $(this),
    dataType: 'json',
    cache: false,
    contentType: false,
    processData: false,
    data: data_string,
    success: function(datas) {
      //执行某些操作
    },
    error: function(e) {
      alert('出错了,请重试');
    }
  });
}

它可以很好地上传图片,但问题是我找不到一种逐个上传图片的方法,我尝试将选项async设置为false,但这会冻结Web浏览器,直到所有图片都上传完成,这不是我想要的,我想以某种方式模拟"async : false"选项来执行相同的操作,但不冻结Web浏览器。如何做到这一点?

0