我有以下代码:
$(".subform_book_uploading").each( function(index, subform) {
var bookId = $(subform).find(".form_book").val();
var filePath = $(subform).find(".form_file").val();
//If values are not empty
if(bookId != 0 && filePath != 0) {
$.ajax({
url: "my Url",
data: "my Data",
dataType: "json",
async: true,
success: function(data) {
Process response
}
});
}
});
问题是看起来每次迭代都等待ajax完成。在" Firebug"我看到所有的ajax请求都是串行执行的。有没有办法并行执行它们?
答案 0 :(得分:1)
我的结论是,它实际上是以它应该的方式工作。调试过程使其按顺序执行。
我建议使用fiddler而不是firebug来观察正在发生的事情。当你执行中断时,很明显你得到了你已经完成的请求的响应,所以在你继续断点并发出下一个请求之前,你得到了之前的回复。
尝试fiddler并告诉我它是否相同。
答案 1 :(得分:0)
$(“。subform_book_uploading”)。each(function(index,subform){
var bookId = $(subform).find(".form_book").val();
var filePath = $(subform).find(".form_file").val();
//If values are not empty
if(bookId != 0 && filePath != 0) {
setTimeout(function(){ $.ajax({
url: "my Url",
data: "my Data",
dataType: "json",
async: true,
success: function(data) {
Process response
}
});},500);
}
});