我有那个代码:
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) {
//does something
},
error: function(e) {
alert('error, try again');
}
});
}
它上传图像非常好,但问题是我找不到一种方法来一张一张上传图像,我尝试添加该选项异步为假但它会冻结网络浏览器,直到上传所有图像,这不是我想要的,我想以某种方式模拟这个“异步:假”选项来执行相同的操作,但不冻结网络浏览器。
这个怎么做 ?
您可以创建一系列承诺,以便一旦所有承诺都得到解决,您就可以运行您的all done
code.
var promises = [];
for (var i = 0; i < $total_files; i++){
/* $.ajax returns a promise*/
var request = $.ajax({
/* your ajax config*/
})
promises.push( request);
}
$.when.apply(null, promises).done(function(){
alert('All done')
})
DEMO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)