Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec IE

script pour actualiser

Sujet résolu
    12 mars 2009 à 19:37:51

    Bonsoir,

    Cela faisait longtemps que je cherchais un script pour actualiser uniquement une partie de ma page. Aujourd'hui c'est chose faite mais j'ai un problème avec IE. Le script marche très bien avec Firefox mais IE, ça fonctionne pas. Sous IE quand je clique sur me déplacer, ça fait rien, alors que sous Firefox, ça s'actualise

    Voici ma page html ou j'appelle ma page php avec Ajax :

    L'AJAX :

    <script>
    function request(url,cadre) {
    var XHR = null;
    
    if(window.XMLHttpRequest)
    XHR = new XMLHttpRequest();
    
    else if(window.ActiveXObject)
    XHR = new ActiveXObject("Msxml2.XMLHTTP"); 
    else {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    return;
    }
    XHR.open("GET",url, true);
    XHR.onreadystatechange = function attente(){
    if(XHR.readyState == 4){
    document.getElementById(cadre).innerHTML = XHR.responseText;
    }
    }
    XHR.send(null);
    return;
    }
    </script>
    


    Le code html :

    <input type="button" value="Me déplacer" class="form_go" onclick="request('monde.php', 'monde');"/>
    <div id="monde"></div>
    


    Merci de vos réponses. Bonne soirée
    • Partager sur Facebook
    • Partager sur Twitter
      12 mars 2009 à 20:16:51

      XHR.onreadystatechange = function attente(){
      • Partager sur Facebook
      • Partager sur Twitter
        12 mars 2009 à 20:26:20

        Salut et merci pour la réponse, cependant le problème ne semble pas venir que de là :

        <script>
        function request(url,cadre) {
        var XHR = null;
        
        if(window.XMLHttpRequest)
        XHR = new XMLHttpRequest();
        
        else if(window.ActiveXObject)
        XHR = new ActiveXObject("Msxml2.XMLHTTP"); 
        else {
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
        return;
        }
        XHR.open("GET",url, true);
        XHR.onreadystatechange = function (){
        if(XHR.readyState == 4){
        document.getElementById(cadre).innerHTML = XHR.responseText;
        }
        }
        XHR.send(null);
        return;
        }
        </script>
        


        Pour illustrer l'exemple j'ai mis dans monde.php le code suivant :

        <?php echo rand(0,10); ?>
        


        Mais sous IE quand je clique sur :

        <input type="button" value="Me déplacer" class="form_go" onclick="request('monde.php', 'monde');"/>
        <div id="monde"></div>
        


        J'ai toujours de même chiffre alors que sous Firefox j'ai un chiffre différent à chaque fois.
        • Partager sur Facebook
        • Partager sur Twitter
          12 mars 2009 à 20:41:02

          Huum, problème de cache?

          Essaie:
          <input type="button" value="Me déplacer" class="form_go" onclick="request('monde.php?' + Math.random(), 'monde');"/>
          • Partager sur Facebook
          • Partager sur Twitter
            12 mars 2009 à 20:46:20

            Merci beaucoup !

            Le problème était là

            Bonne soirée et encore merci
            • Partager sur Facebook
            • Partager sur Twitter
              12 mars 2009 à 22:22:57

              Enfin, ma méthode était surtout pour test, car dans l'absolu c'est assez barbare.

              Regarde niveau php coté header et no-cache
              • Partager sur Facebook
              • Partager sur Twitter

              Problème avec IE

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown