Attendre fin d'execution

cs_maxos75 Messages postés 22 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 19 juillet 2006 - 6 juil. 2006 à 11:55
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 19 juil. 2006 à 12:35
Bonjour,

Je souhaite attendre la fin d'execution d'une xmlhttprequest pour rediriger l'utilisateur vers la page de démarrage...
si quelqu'un a une idée, le probleme du Settimeout c'est que le temps d'execution n'est jamas le même.
merci bien

7 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 juil. 2006 à 15:02
bonjour,

>>attendre la fin d'execution d'une xmlhttprequest 

 xml.onreadystatechange = function()
    { 
      if(xml.readyState == 4)
      {
         xmlhttprequest fini
      }
    }

mais je n'ai sûrement pas saisi la question...
cordialement   Bul   
Site
0
cs_maxos75 Messages postés 22 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 19 juillet 2006
6 juil. 2006 à 15:14
oui effectivement mais je me suis suremnt mal exprimé.

en fait mettons :
 function fonction1 ()
{
   lafonctionxmlhttprequest('parma1', 'param2');
   window.location('test.asp');   <--- c'est cette redirection que je veux effectuer UNIQUEMENT a la fin de lafonctionxmlhttprequest()
}
peut etre est-ce plus clair?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 juil. 2006 à 15:17
et ben...
   c'est mon exemple...?!?
   xmlhttprequest fini ==>  window.location('test.asp');
cordialement   Bul   
Site
0
cs_maxos75 Messages postés 22 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 19 juillet 2006
6 juil. 2006 à 15:22
oui certes si jamais la redirection avait lieu a tous les coups mais la je redirige que dans certains cas c'est pourquoi je fais pas directement la redirection dans le xmlhttprequest.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
6 juil. 2006 à 15:27
if ( conditions remplis ) windows....
cordialement   Bul
Site
0
cs_maxos75 Messages postés 22 Date d'inscription dimanche 5 juin 2005 Statut Membre Dernière intervention 19 juillet 2006
19 juil. 2006 à 12:23
Je crois que mon probleme c'est que j'arrive pas a presenter le souci, je réessaie donc.

Pour l'instant j'ai :

function fonction1 ()
{
   lafonctionxmlhttprequest('parma1', 'param2');
   window.location('test.asp');   <--- c'est cette redirection que je veux effectuer UNIQUEMENT a la fin de lafonctionxmlhttprequest()
}
dans ce cas de figure javascript lance 'lafonctionxmlhttprequest('parma1', 'param2');' puis 'window.location('test.asp');' sans attendre la fin de l'execution de la premiere fonction lancée, ce qui provoque des problèmes d'execution... Le paliatif utilisé jusqu'a present est un SetTimeOut() sur la derniere fonction mais je voudrais trouver le moyen de savoir si la fonction est finie ça m'eviterai de devoir temporiser au maximum, parceque suivant les parametres, le temps d'execution de la requete 'lafonctionxmlhttprequest('parma1', 'param2');' varie enormément.

Autre exemple pour peut etre mieux comprendre :

Je voudrais :
function gobale ()
{
function1();
---- attendre fin execution de function1() ----
funcition2();
---- attendre fin execution de function2() ----
function3();
}
j'espere que mon discours est un peu plus clair maintenant ... (l'espoir fait vivre...)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 juil. 2006 à 12:35
finalement c'est :

   attendre la fin d'une fonction pour continuer.
j'ai compris ?

et, en fait, on ne peut pas (simplement)
quoique.. jesusonline n'a pas mis
   quelque chose dans les sources ?
   ( peut-être me trompe-je ! )

======================================
function un() {...}
function deux() {...}
...
un(); deux();
======================================
lance un, puis, relativement vite, lance deux

il faut faire
======================================
function deux() {...}
function un()   { traitement de un;
                  deux(); }
...
un();
et ici : plus rien !!! ( sauf </script> )
======================================

cordialement   Bul   
Site
0
Rejoignez-nous