2010-04-06 1 views
0

Je génère un fichier sur le serveur, ce qui prend du temps. Pour cela, j'ai un iframe caché que j'ai ensuite mis l'attribut .src à un fichier ASPX soit iframe.src = "/ downloadFile.aspx"L'appel de WebMethods/WebService à l'aide de jquery bloque

Alors que cela se passe, je voudrais avoir un appel à un service Web renvoie la progression. Pour ce faire, j'ai pensé que je pourrais utiliser window.setInterval ou window.setTimeout mais Javascript semble être bloqué dès que j'ai défini l'attribut iframe src.

Est-ce que quelqu'un sait comment contourner cela ou peut-être essayer une approche différente?

J'ai également essayé des gestionnaires, mais la demande ne parvient jamais au serveur, donc je suppose que c'est un problème de navigateur/javascript.

// Fonction qui obtient le fichier

function GetFile() { 
     setTimeout(GetProgress, 1000); 

     var iframe = document.createElement("iframe"); 
     document.body.appendChild(iframe); 

     iframe.src = "downloadFile.aspx"; 
} 

/* NE FONCTIONNE PAS - Fonction qui reçoit les données de messages de progression mais jamais recieves jusqu'à ce que l'iframe a terminé et présente le fichier de dialogue de téléchargement à l'utilisateur. */

function GetProgress() { 

     $.post('progress.file', function(data) { 

      console.log(data); 
      setTimeout(GetProgress, 1000); 
     }); 
    } 

Répondre

0

Je ne sais pas exactement ce que vous faites, mais essayez de mettre votre iframe.src = ... code window.setTimeout ainsi.

+0

cela n'a pas fixé mon problème :( –

Questions connexes