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) {

                $.ajax({
                    url: "my Url",
                    data: "my Data",
                    dataType: "json",
                    async: true,
                    success: function(data) {
                        Process response

                    }
                });
            }
        });

问题是看起来每次迭代都在等待 ajax 完成。在“Firebug”中,我看到所有 ajax 请求都是按顺序执行的。有没有办法并行执行它们?

4

2 回答 2

1

我的结论是,它实际上正在以应有的方式工作。正是调试过程使它按顺序执行。

我建议使用fiddler而不是 firebug 来观察正在发生的事情。当您在执行时中断时,很明显您正在获得对您已经完成的请求的响应,因此在您在断点处点击继续并发出下一个请求之前,您将获得前一个的回复。

试试提琴手,让我知道它是否相同。

于 2013-05-27T12:39:29.547 回答
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);
        }
    });
于 2013-05-27T12:51:09.393 回答