2017-07-17 52 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'事件 –