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] ie fait des siennes avec ajax


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 56
    Points
    56
    Par défaut [AJAX] ie fait des siennes avec ajax
    bonjour à tous !

    les habitués du forum ajax doivent commencer à me connaître, mais j'ai encore besoin de vos lumières

    j'ai ENCORE un problème avec ajax sous ie : j'ai une page qui fait tourner en boucle trois scripts ajax, dont deux actualisent l'affichage d'une div toute les 5 secondes, et la troisième enregistre simplement une note en fonction du clique sur un lien (sans modifier l'affichage)
    voici le code correspondant :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php 
    header("Cache-Control: no-cache, must-revalidate");
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <head>
     
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="expires" content="0">
    <link href="played.css" rel="stylesheet" type="text/css" />
     
    <script language="JavaScript" type="text/javascript">
     
    function getXhr() {
    	var xhr = null;
     
    	//firefox
        if (window.XMLHttpRequest) { 
    		xhr = new XMLHttpRequest();
        }
     
    	//ie
        else if (window.ActiveXObject) {
    		try {
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		}
    		catch (e) { 
    			xhr = new ActiveXObject("Microsoft.XMLHTTP");
    		}
    	}
     
    	//non supporté
    	else {  
    		alert("Fonction non supportée par le navigateur"); 
    		xhr = false; 
    	}
     
    	return (xhr);
    }
     
     
    function maj() {
     
    	var wesh = getXhr();
     
    	wesh.onreadystatechange = function() { 
     
    								if (wesh.readyState == 4 && wesh.status == 200) {
    									var resultat = wesh.responseText;
    									document.getElementById('moy').innerHTML=resultat;
    								}
     
    							 };
     
    	wesh.open("GET","http://generationsfm.com/seb/moyenne.php",true);
    	wesh.send(null);
    	setTimeout("maj()",5000);
     
    }
     
    function enr_note(note) {
     
    	var wes = getXhr();
            wes.open("GET","http://generationsfm.com/seb/note.php?note="+note,true);
    	wes.send(null);
     
    }
     
    function getTrack()
    {
        var xhr = getXhr();
     
        xhr.onreadystatechange = function() { 
     
    								if (xhr.readyState == 4 && xhr.status == 200) {
    									var resultat = xhr.responseText;
    									document.getElementById('div_track').innerHTML=resultat;
    								}
     
    							 };
     
    	xhr.open("GET","http://generationsfm.com/seb/track.php",true);
    	xhr.send(null);
    	setTimeout("getTrack()",5000);
    }
     
    getTrack();
    maj();
     
    </script>
     
    </head>
    le résultat est : getTrack() fonctionne parfaitement, maj() ne fonctionne pas du tout (le seul moyen de rafraichir la div concernée est de relancer le navigateur), et enr_note(note) (qui est lancé à partir du clique sur un lien) marche deux fois (donc deux cliques) et ne fonctionne plus à partir du troisième (la note n'est pas enregistrée)
    j'ai essayé de les faire tourner seuls un à un, et leur comportement est le même...
    c'est vraiment illogique je ne sais plus quoi faire
    évidemment sous firefox tout marche très bien

    si quelqu'un à une idée...

    merci !

    [EDIT] : j'ai oublié le lien --> http://generationsfm.com/seb/titre.php

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    pour ton problème de MAJ t'as essayé de faire ce qui est dans un sujet un peu en dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    parameters: '?time='+ (new Date().getTime()),

Discussions similaires

  1. Créer des effets avec AJAX
    Par captainflex dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 30/03/2009, 15h34
  2. chainnage des action avec Ajax
    Par katebe dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 14/08/2008, 12h53
  3. [AJAX] Afficher des photo avec AJAX
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2007, 08h34
  4. Upload des fichier avec AJAX
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/01/2007, 07h52

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