循环回调方法中的ajax不适用于每个请求

时间:2014-03-14 05:36:45

标签: jquery ajax javascript-events

这里我使用ajax每个循环。但回调中的错误。回调成功或进度不适用于每个请求。 第一,第二次蜥蜴队崩溃了。

entries.forEach(function (entry) {
    var request = $.ajax({
        type: "POST",
        url: 'base64upload',
        data: { 'value': base64, 'filename': entry.filename, 'zipname': zipName[0], 'fileCount': fileCount, 'image_title': entry.filename },
        cache: false,
        success: function (data) {
            $("#" + barid).css("width", "100%");
            complete++;
            console.log("success=" + barid);
        },
        progress: function (evt) {
            if (evt.lengthComputable) {
                $("#" + barid).css("width", parseInt((evt.loaded / evt.total * 100), 10) + "%");
                console.log("progress=" + barid);
            }
        }

    });

});

1 个答案:

答案 0 :(得分:0)

您可以使用ajax队列执行此操作,请参阅此处获取完整文档

$.ajaxq ("MyQueue", {
                    type: "POST",
                    url: 'base64upload',
                    data: {'value':base64, 'filename': entry.filename, 'zipname':zipName[0], 'fileCount': fileCount,'image_title':entry.filename},
                    cache:false,

                success: function(data)
                                        {
                     $("#"+barid).css("width","100%");
                     complete++;
                     console.log("success="+barid);

                                        },
                progress: function(evt) {
                    if (evt.lengthComputable) {
                       $("#"+barid).css("width",parseInt( (evt.loaded / evt.total * 100), 10) + "%");
                        console.log("progress="+barid);
                       }
                   }

                });

http://foliotek.github.io/AjaxQ/