2017-07-17 53 views
0

我正在使用AUI ajax文件上傳上傳文件,並且希望在收到前一個響應後在循環中發出相同的ajax請求。我觀察到的是,下一個循環在沒有收到前一個請求的響應的情況下被調用。如何才能確保,我只有在收到回覆後纔打電話給下一個迴路?在ajax上傳循環中上傳文件

var loopCount = 0; 
var requiredLoops = 10; 

function uploadFile(){ 

loopCount = loopCount + 1; 

A.io.request('${fileUploadCSV}', { 
method: 'post', 
form: { 
    id: '<portlet:namespace />uploadForm', 
    upload: true, 
}, 
on: { 

    complete : function(e){ 
    if(requiredLoops <= loopcount) 
     uploadFile(); // LOOP. 

    } 

} });

+0

曾試過'成功'嗎? http://alloyui.com/versions/2.0.x/examples/io/real-world/ –

+0

成功與失敗並未在上傳中被解僱。 –

回答

-1

我通過添加uploadFile()使其工作。在setTimeout();

setTimeout(function(){uploadFile()}, 100); 
+0

沒有抱歉,但這不是一個解決方案,它只是運氣。 查看https://yuilibrary.com/yui/docs/io/#uploading-files-in-an-html-form並嘗試'end'事件 –