asquel Posté 5 Septembre 2007 Posté 5 Septembre 2007 Salut tout le monde, J'ai écrit une fonction qui s'exécute périodiquement pour mettre à jour en temps réel des données. Le problème c'est que je dois lui passer un paramètre et à partir de ce moment elle ne s'exécute plus que une seule fois ! function gestionClicPopup(session){ var url = './pilote2.php'; var myAjax = new Ajax.Request( url, { method: 'get', parameters: '?time='+ (new Date().getTime())+'&'+session, onComplete: gestionReponsePopup }); setTimeout("gestionClicPopup("+session+")",1000);} voilà, écrit de cette manière elle ne marche que une seule fois ! Si j'enlève le "+session+")" à la dernière ligne, elle s'exécute toutes les secondes ... J'ai absolument besoin de ce paramètre, comment faire ? Merci !
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 Une histoire de quotes ? setTimeout("gestionClicPopup('"+session+"')",1000);} => Rajoute des simples quotes autour du numéro de session pour essayer... (si c'est un id de session il peut contenir de l'alpha)
asquel Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 incroyable lol c'était ca j'aurais jamais deviné que en plus des doubles fallait mettre des simples merci beaucoup !
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 Ben si, une variable non numérique doit généralement être entourée de quelque chose, et là il y avait déjà des doubles quotes...
asquel Posté 5 Septembre 2007 Auteur Posté 5 Septembre 2007 (modifié) j'avoue que je ne m'y connais pas du tout en javascript j'en ai besoin par ci par là mais bon c'est tout merci en tout cas par hasard tu saurais pas comment faire pour repasser ce même paramètre à la fonction que j'appelle ds ma gestionClic : function gestionClic(session){ var url = './pilote2.php'; var myAjax = new Ajax.Request( url, { method: 'get', parameters: '?time='+ (new Date().getTime())+'&'+session, onComplete: gestionReponse }); setTimeout("gestionClic('"+session+"')",1000);} Je voudrais en fait passer mon paramètre session à la fonction gestionReponse ! Aurais tu une idée ? Merci d'avance Modifié 5 Septembre 2007 par asquel
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 function gestionClic(session){ var url = './pilote2.php'; var myAjax = new Ajax.Request( url, { method: 'get', parameters: '?time='+ (new Date().getTime())+'&'+session, onComplete: gestionReponse('session') }); setTimeout("gestionClic('"+session+"')",1000);} Ajax.Request ça vient d'où ? c'est pas standard...
iNCiTE Web Posté 5 Septembre 2007 Posté 5 Septembre 2007 OK donc pas facile sans le connaitre... Tu as essayé en rajoutant onComplete: gestionReponse('session'), il faut aussi modifier la fonction gestion Reponse du coup
asquel Posté 6 Septembre 2007 Auteur Posté 6 Septembre 2007 le seul problème c'est que le prototype de la fonction gestionReponse c'est déjà : function gestionReponse(xhr, result){ Or comme tu peux le voir, dans le "onComplete" y a pas les paramètres xhr et result et pourtant ca fonctionne ...
iNCiTE Web Posté 6 Septembre 2007 Posté 6 Septembre 2007 Oui effectivement. Il faudrait se plonger dans le code complet, et là euh le temps toussa... Y'a pas un forum, un wiki que sais-je avec ce script ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant