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

JavaScript Discussion :

[AJAX] onreadystatechange (revient au statut 1 apr�s le 4)


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 6
    Par d�faut [AJAX] onreadystatechange (revient au statut 1 apr�s le 4)
    Bonjour,

    J'utilise ajax pour afficher une image en grand dans un paragraphe lors du clic sur une vignette

    Les �tats obtenus avec readyState passent de 1 � 4 et lorsque le statut est 4, je remplace l'image. Le probl�me, c'est que onreadystatechange d�tecte un changement, readyState repasse � 1 (je ne sais pas pourquoi ?) et l'image de d�part est r�affich�e. C'est comme s'il n'y avait eu finallement aucun changement dans la page.

    Le site n'est pas en ligne.

    **************************************

    Voici les fonctions javascript que j'utilise :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    function getXhr()
    {
        if(window.XMLHttpRequest) {xhr = new XMLHttpRequest();}
        else if(window.ActiveXObject)
        {
            try 
            { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
            catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
        }
        else
        {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour");
            xhr = false; }
    }
     
     
    function changerPhoto1(idPhoto)
    {
        getXhr();
     
       xhr.onreadystatechange = function()
                                 {
     
                                    if(xhr.readyState == 4 && xhr.status == 200)
                                    { // Nous remplacons le contenu du p#photo par le retour de "ajax/ax_nouvellePhoto.php" 
                                        document.getElementById('photo').innerHTML = xhr.responseText;
     
                                    }
     
                                 }
     
        xhr.open("POST",'ajax/ax_nouvellePhoto.php',true);
        xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        xhr.send("id_img="+idPhoto); //ce qui est envoyé par POST
     
    }
    *****************************************
    Voici le code de la page ax_nouvellePhoto.php
    Mon probl�me est donc :
    Pourquoi l'�tat readyState change apr�s avoir �t� 4 ? Du coup, ONreadyStateChange est appel�e,et c'est pour cela que l'image n'est plus remplac�e.

    Merci de m'aider car je ne vois vraiment pas pourquoi �a fait �a. J'ai m�me essay� d'autres scripts qui m'ont donn�s la m�me chose .

    Remarque : j'utilise firefox avec la barre web d�veloppeur. Lorsque j'ai test� sur IE, bizarrement je retourne � la page initiale (sans aucune modif)

    Merci

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Tu interpr�tes mal ce que tu vois je pense...
    M�me si le readystate repassait � 1, il ne se passerait rien puisqu'aucun traitement ne lui est associ�... En revanche, ton Ajax est-il d�clench� sur le click d'un lien ou d'un submit ? Auquel cas, la page est susceptible de se recharg� si tu ne lui dis pas de ne pas le faire, donc retour � la petite image...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 6
    Par d�faut
    Merci pour ta r�ponse,

    effectivement il s'agit d'un lien afin de permettre l'accessibilit� via la tabulation.

    En quoi cela est-il important ?

  4. #4
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Si tu fais par exemple :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="" onclick="maFonction()">
    Ta fonction va se lancer, puis apr�s le href, qui ici recharge la page...
    Donc, dans ce cas, il faut rajouter :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <a href="" onclick="maFonction();return false">
    qui inhibe l'action du href.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    6
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 6
    Par d�faut
    Merci beaucoup, c'�tait bien � cause de cela

    J'�tais pas pr�t de trouver du cot� du code.

  6. #6
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    De rien, on est l� pour �a !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Comment �a marche ajax.onreadystatechange
    Par muppetshow dans le forum G�n�ral JavaScript
    R�ponses: 9
    Dernier message: 11/12/2009, 14h14
  2. [AJAX] Rendre gris�s des liens hypertextes apr�s un click
    Par Jonathan.b dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 13/11/2007, 15h50
  3. [AJAX] onreadystatechange outrepass� ?
    Par Dvyne dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 15/05/2007, 14h50
  4. R�ponses: 1
    Dernier message: 09/02/2007, 12h28
  5. [AJAX] Mise � jour d'une page apr�s r�ception d'une requ�te
    Par M.Dlb dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 11/11/2006, 15h48

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