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] xmlhttprequest onreadystatechange appelé une seule fois


Sujet :

AJAX

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut [AJAX] xmlhttprequest onreadystatechange appelé une seule fois
    Bonjour,

    j'essaie d'appeler un script php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    header('Content-type: text/html; charset=iso-8859-1');
    //$weburl = $_POST['weburl']; 
    echo 'ceci est un test';
    ?>
    via le code suivant

    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
     
    this.xhr.onreadystatechange = function(fn)
              {          
                 console.log("xhr start "+xhr_.readyState);
                 if (xhr_.readyState==4 && xhr_.status==200)
                 { 
                    console.log(xhr_.responseText);
                    var domresp = xhr_.responseText;
                    if(domresp == null)
                    { 
                      console.log("domresp == null");
                      return;
                    }
                      console.log(dormresp);
                  }
                  console.log("xlr end");
              }(this.xhr_);
    je rentre bien une fois dedans (xhr start et xlr end sont inscrit)
    mais cela est tout.

    Dans la console, j'ai le message suivant.
    XHR finished loading: "http://localhost ....etc....".

    je ne comprends pas ce que cela veux dire qu'il fini ?
    mais alors pourquoi s'arrette t il ?

    merci

    a+

  2. #2
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Parce que de la façon dont ton code est écrit, ta fonction est exécutée dès l'interprétation du script (genre dans le onload), et ton onreadystatechange ne contient pas la référence à ta fonction mais le retour de l'exécution de celle ci.

    function foo(arg){/* code ici */}(toto) exécute la fonction foo en passant toto comme argument arg

Discussions similaires

  1. [AJAX] Appel AJAX .load() jquery ne fonctionne qu'une seule fois
    Par ThomasF dans le forum jQuery
    Réponses: 4
    Dernier message: 11/01/2015, 12h08
  2. Réponses: 2
    Dernier message: 10/07/2009, 12h37
  3. Appeler une fonction q'une seule fois
    Par kit dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/05/2009, 10h22
  4. Réponses: 6
    Dernier message: 13/07/2007, 11h46
  5. [AJAX] [XMLHttp][IE]Fonction qui ne fonctionne qu'une seule fois
    Par narnou dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/07/2007, 11h16

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