2017-07-17 1 views
0

Je télécharge un fichier en utilisant le téléchargement de fichier ajax AUI et je souhaite faire la même requête ajax en boucle une fois la réponse précédente reçue. Ce que j'ai observé est que, la prochaine boucle est appelée sans recevoir la réponse de la demande précédente. Comment peut-on m'assurer que, j'appelle la prochaine boucle seulement après avoir reçu la réponse?Chargement d'un fichier dans une boucle de téléchargement 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

Avez-vous essayé sur 'success'? http://alloyui.com/versions/2.0.x/examples/io/real-world/ –

+0

Le succès et l'échec ne sont pas déclenchés lors du téléchargement. –

Répondre

-1

Je l'ai fait fonctionner en ajoutant uploadFile(); dans setTimeout();

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

Non désolé mais ce n'est pas une solution, c'est seulement de la chance. Regardez https://yuilibrary.com/yui/docs/io/#uploading-files-in-an-html-form et essayez l'événement 'end' –