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] Premier script, premier bug.. j'ai besoin de vous :)


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut [AJAX] Premier script, premier bug.. j'ai besoin de vous :)
    Salutation!

    Grâce aux différents tutoriels que j'ai pu apercevoir sur la toile et mes quelques connaissances, j'ai réalisé mon premier script ajax: "tout con", vous me direz, il marche de la façon suivante: lorsque je clique sur "cliquez-ici" ajax se lance pour rechercher une page php qui contient un simple SELECT.

    Sous FireFox, pas de problème, tout fonctionne, sous explorer, c'est une autre paire de manche: le script ne se lance qu'une fois, il semblerait qu'il soit contre le fait de regénérer mon httpRequest avec le nouveau open...

    Quelqu'un saurait me dire d'où ça vient?

    Voici le code:
    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
    <!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" />
    <title>Document sans titre</title>
     
    <script type="text/javascript" language="javascript">
     
    function gestionClic(url)
    { 
     
    	httpRequest = 0;
        var httpRequest; 
     
        try {  httpRequest = new ActiveXObject('Msxml2.XMLHTTP');   }
        catch (e) 
        {
            try {  	httpRequest = new ActiveXObject('Microsoft.XMLHTTP');    }
            catch (e2)
            {
              try {  httpRequest = new XMLHttpRequest();     }
              catch (e3) {  httpRequest = false;   }
            }
         }
        httpRequest.open('GET', url, true); 
        httpRequest.onreadystatechange  = function()
    	{ 
    	document.getElementById('tabdonnees').innerHTML = "chargement...";
     
             if(httpRequest.readyState  == 4)
             {
                  if(httpRequest.status == 200)
          			{
    				document.getElementById('tabdonnees').innerHTML = httpRequest.responseText;
    				alert(httpRequest.responseText);
    				}
    			  else
    				{
    				document.getElementById('tabdonnees').innerHTML = "<strong>N/A</strong>";
    				}
             }
        }; 
       	httpRequest.send(null); 
     
    } 
     
    </script>
     
    </head>
     
    <body>
    <p>
    <a href="#" onclick="gestionClic('select_identites2.php'); return false;">Cliquez ici !</a>
    <div id="tabdonnees">
     
    </div>
    </p>
     
    </body>
    </html>

    Et ici la page test à ouvrir avec firefox, ie7 et ie6
    http://www.moovz.fr



    Merci par avance.

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'ai pourtant l'impression que ça fonctionne sous IE...
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    re Bovino
    je me suis rendu compte que l'ancien message n'était pas réellement dans la bonne catégorie!

    Cela fonctionne une fois, mais si tu refais "cliquez-ici" tu remarques que sous FireFox il y a un léger "chargement en cours..." qui apparaît juste avant les données, alors que sous IE il le fait la première fois et les autres fois il ne bouge plus!

    Si je rentre une nouvelle donnée dans la bdd ie ne la prendra pas en compte, la page restera figé, comme un cache qui ne se vide pas.

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est très court, mais sous ie je vois à chaque fois le "chargement..." puis le alert.

    je me suis rendu compte que l'ancien message n'était pas réellement dans la bonne catégorie!
    Ca me rassure, un moment j'ai cru être dans le film "Un jour sans fin"...
    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
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Chez moi impossible, sous ie6 "chargement" n'apparaît pas :s

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Et le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(httpRequest.responseText);
    ???
    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

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    je l'ai viré pour des tests...

    le voilà remis

  8. #8
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Oui... mais il s'affiche à chaque fois ?
    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

  9. #9
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    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
    <!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" />
    <title>Document sans titre</title>
     
    <script type="text/javascript" language="javascript">
     
    function gestionClic(url)
    { 
     
    	httpRequest = 0;
        var httpRequest; 
     
        try {  httpRequest = new ActiveXObject('Msxml2.XMLHTTP');   }
        catch (e) 
        {
            try {  	httpRequest = new ActiveXObject('Microsoft.XMLHTTP');    }
            catch (e2)
            {
              try {  httpRequest = new XMLHttpRequest();     }
              catch (e3) {  httpRequest = false;   }
            }
         }
        httpRequest.open('GET', url, true); 
        httpRequest.onreadystatechange  = function()
    	{ 
    	document.getElementById('chargement').innerHTML += "chargement...";
     
             if(httpRequest.readyState  == 4)
             {
                  if(httpRequest.status == 200)
          			{
    				document.getElementById('tabdonnees').innerHTML = httpRequest.responseText;
    				alert(httpRequest.responseText);
    				}
    			  else
    				{
    				document.getElementById('tabdonnees').innerHTML = "<strong>N/A</strong>";
    				}
             }
        }; 
       	httpRequest.send(null); 
     
    } 
     
    </script>
     
    </head>
     
    <body>
    <p>
    <a href="#" onclick="gestionClic('select_identites2.php'); return false;">Cliquez ici !</a>
    <div id="chargement"></div>
    <div id="tabdonnees">
     
    </div>
    </p>
     
    </body>
    </html>
    Essaye avec ces changements :
    -> Le message chargement... s'affiche dans une div séparée, il ne s'efface plus mais rajoute du texte à chaque requête.

    Juste pour vérifier que ça fonctionne...
    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

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    c'est fait, il ajoute bien des "chargements" à chaque fois...
    Mais les données ne se mettent pas à jour instantanément sous ie, il faut que je vide le cache et que j'actualise la page pour qu'il les reprenne en compte :s

  11. #11
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
    				document.getElementById('tabdonnees').innerHTML ='';
    				document.getElementById('tabdonnees').innerHTML = httpRequest.responseText;
    				alert(httpRequest.responseText);
    				}
    Essaye avec ç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

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    pas idiot comme tentative j'y avait pas pensé!

    malheureusement c'est non identique

  13. #13
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pourquoi, ton php est censé te renvoyer des valeurs différents à chaque fois ?
    J'avais pas compris ça... je croyais qu'il renvoyait la même chose...
    On peut voir select_identites2.php ?
    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

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Bin si je n'ajoute rien dans la bdd il n'ajoute rien sur la page, mais si j'ajoute une valeur dans la base de donnée, il est sensé me mettre à jour ma liste, et il ne le fait pas sous ie:

    http://moovz.fr/select_identites2.php

    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
    <?php
    header("Content-type: text/html; charset=ISO-8859-1");
     
    include("connexion.php");
    $query = mysql_query("SELECT * FROM `identites`");
     
     
    	while($tabidentites = mysql_fetch_assoc($query))
    		{
    		$infosnom = "".$tabidentites["nom"]."";
    		$infosprenom = "".$tabidentites["prenom"]."";
     
     
    		echo "<b>".$infosprenom."</b> ".$infosnom."<br/ >";
    		}
    ?>

  15. #15
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Donc, quand tu fais tes tests, tu cliques sur ton lien, tout s'affiche, tu recliques sur ton lien et ta requête te renvoie la même chose.
    Essaye dans ton php d'insérer une ligne dans ta table avant de récupérer les données...
    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

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    c'est fait,
    systématiquement à présent avant de faire le SELECT il fait un INSERT.

    Tu vas pouvoir entre apercevoir l'étendu du problème

  17. #17
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Désolé, mais chez moi ça marche...
    Bon, c'est vrai qu'ayant ie7, je teste ie6 avec MultipleIEs dont je ne suis pas convaincu qu'il soit très efficace, mais en tout cas ça marche
    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

  18. #18
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    J'ai enfin installé IETester à la place de MultipleIEs et maintenant je vois mieux ton problème...
    Insères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    header("Pragma: no-cache");
    header("Expires: 0");
    header("Cache-Control: no-cache, ");
    dans ton fichier php et je pense que ça pourra résoudre ton problème.
    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

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    ouffffffffff on en voyait pas le bout hein?

    C'était bien un problème de cache, ce qui est étrange c'est que je mettais renseigné dessus et j'avais déjà copier coller un exemple de header qui vide le cache rien n'y faisait!

    Mais là ça marche!

    je te remercie pour le temps que tu y as consacré Bolino.


    Amicalement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Premier script AJAX
    Par Général03 dans le forum AJAX
    Réponses: 13
    Dernier message: 23/03/2009, 20h50
  2. premier script, premiere erreur
    Par rstadel dans le forum Langage
    Réponses: 7
    Dernier message: 28/09/2008, 13h53
  3. [AJAX] Mon premier script PHP/MYSQL/AJAX
    Par NiC1305 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/04/2008, 18h51
  4. Shell - premier script : besoin de conseils
    Par Invité dans le forum Linux
    Réponses: 1
    Dernier message: 28/10/2007, 20h42
  5. Premier Script
    Par spiderman69 dans le forum Langage
    Réponses: 1
    Dernier message: 26/09/2005, 18h09

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