IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Fonction executé deux fois au send.


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 98
    Points : 35
    Points
    35
    Par défaut [AJAX] Fonction executé deux fois au send.
    Bonjour,

    je debute en Ajax grace aux nombreux tuto trouve sur le net.
    j'utilise Firefox + Firebug
    Mon code est tres simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    function navi(gal) {
    	var xhr_object = null; 
    	// Create object by browser
    	if(window.XMLHttpRequest) // Firefox 
            	xhr_object = new XMLHttpRequest(); 
    	else if(window.ActiveXObject) // Internet Explorer 
    		xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
    	else { // XMLHttpRequest non supporté par le navigateur 
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    		return; 
    	} 
     
    	xhr_object.open("GET", "gal.xml", true); 
     
    	xhr_object.onreadystatechange = function() { 
    	   	if(xhr_object.readyState == 4 && xhr_object.status == 200) {
    			test();
    		}
    	} 
     
    	xhr_object.send(null);
     
    }
     
    function test(){
    	alert("test");
    }
    Mon problème est le suivant :

    La fonction test est lancée deux fois par le navigateur:
    - une fois directement après le send l'alert test apparait
    - une fois lorsque le readystate change

    J'ai ajoute un point d'arret dans la fonction test mais le premier appel l'ignore.

    Excusez pour la question qui dois etre d'un newbitude ultime, mais j'ai beau retourner le net je ne trouve personne avec un tel comportement mais beaucoup de tuto montrant mon code valide...

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 98
    Points : 35
    Points
    35
    Par défaut
    Bon...
    Étrange problème résolu.

    Si quelqu'un a une explication.
    peut être le fait que j'ai relance firefox...
    Je comprend pas trop mais ca marche.

    Si vous avez des hypothèses je suis preneur, ca m'intrigue tout ca.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 679
    Points
    44 679
    Par défaut
    problème de cache ?????

Discussions similaires

  1. [QThread] Probleme lorsque le thread s'execute deux fois
    Par poulecaca dans le forum Multithreading
    Réponses: 15
    Dernier message: 30/12/2008, 18h01
  2. [PHPLIB] Phplib + firefox => fonctions appelées deux fois
    Par tupac59LC dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/02/2008, 00h35
  3. [Prototype] [Event] Fonction exécutée deux fois
    Par cereal59 dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 11/01/2008, 16h40
  4. Fonction appellé deux fois
    Par stephane92400 dans le forum JSF
    Réponses: 5
    Dernier message: 17/08/2007, 16h22
  5. Button OnClick s'execute deux fois de suite
    Par ToxiZz dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/06/2007, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo