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] Interaction avec le serveur : AJAX + PHP


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut [AJAX] Interaction avec le serveur : AJAX + PHP
    bonjour ,
    est ce que quelqu'un pourra me dire c'est koi l'erreur dans mon 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
     
    function ajax()
    {
        var xhr=null;
     
        if (window.XMLHttpRequest) { 
            xhr = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) 
        {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //on définit l'appel de la fonction au retour serveur
        xhr.onreadystatechange = function() { alert_ajax(xhr); };
     
        //on appelle le fichier reponse.php
        xhr.open("GET", "file:///var/www/html/reponse.php", true);
        xhr.send(null);
    }
     
    function alert_ajax(xhr)
    {
    	var docXML= xhr.responseXML;
    	var items = docXML.getElementsByTagName("donnee")
    	//on fait juste une boucle sur chaque element "donnee" trouvé
    	for (i=0;i<items.length;i++)
    	{
    		alert (items.item(i).firstChild.data);
    	}
    }
    ce code consiste à appeller un fichier reponse.php ,ce dernier va simplement lire dans une base de donnée et transforme le résultat en XML.


    reponse.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?php
    header('Content-Type: text/xml'); 
    echo "<?xml version=\"1.0\"?>\n";
    echo "<exemple>\n";
     
    //on connecte a la BDD
    $dbhost="localhost";
    $dbuser="root";
    $dbpass="imane ";
     
    $dblink=mysql_connect($dbhost,$dbuser,$dbpass);
    mysql_select_db("data",$dblink);
     
    //on lance la requete
    $query = "SELECT * FROM temp";
    $result = mysql_query($query,$dblink) or die (mysql_error($dblink));
     
    //On boucle sur le resultat
    while ($row = mysql_fetch_array($result, MYSQL_NUM))
    {
            echo "<donnee>" . $row[0] . "</donnee>\n";
    }
    echo "</exemple>\n";
     
    ?>
    pour tester dans un fichier .html je lance ma fonction ajax mais rien n'est affiché??!!! normalement il doit afficher les données de la table .

    repondez moi svp car je me suis bloquée et je sais pas quoi faire
    merci d'avance

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("GET", "file:///var/www/html/reponse.php", true);
    Tu utilises une adresse locale, c'est a dire qui n'est pas servie par un serveur web, donc le code php de ta page ne sera jamais exécuté...

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Re
    j'ai remplacé

    xhr.open("GET", "file:///var/www/html/reponse.php", true);
    par
    xhr.open("GET", "http://localhost/index.php", true);
    mais tjrs ca marche pas

  4. #4
    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
    "Ca ne marche pas", ca veut dire quoi?

    La requete est envoyée? Tu récupères une réponse? Tu rentres bien dans ta fonction alert_ajax?

    Bref, un peu plus de détails...

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    Re
    ok
    dans mon fichier index.php s'affiche
    Ce fichier XML ne semble pas avoir d'information de style associé avec lui. L'arbre du document est montré ci-dessous.

    <exemple>
    <donnee>Bonjour</donnee>
    <donnee>Monde</donnee>
    </exemple>

    mais je pense que je rentre pas à ma fonction alert ajax puisq ne s'affiche rien

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function alert_ajax(xhr)
    {
    	var docXML= xhr.responseXML;
    	var items = docXML.getElementsByTagName("donnee")
    	//on fait juste une boucle sur chaque element "donnee" trouvé
    	for (i=0;i<items.length;i++)
    	{
    		alert (items[i].firstChild.data);
    	}
    }

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 24
    Points : 11
    Points
    11
    Par défaut
    juste pour verifier j'ai créer un fichier reponse.xml et les donnée s'affiche cette fois a l'aide de ma fonction ajax alert
    j'ai aussi essayé celle que tu ma donnée et ça marche pas .je sais pas d'ou vient l'erreur exactement
    vous avez des idées ?
    merci pr votre aide

  8. #8
    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
    Essaie ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.onreadystatechange = alert_ajax;

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Dans ce cas DoubleU, il faut mettre la variable xhr en gobale.

Discussions similaires

  1. [AJAX] Interaction avec le serveur:AJAX +PHP
    Par Claudine dans le forum AJAX
    Réponses: 42
    Dernier message: 14/11/2011, 20h21
  2. Connexions et interaction avec des serveurs d'IM
    Par ceres02 dans le forum Apple
    Réponses: 0
    Dernier message: 12/05/2010, 10h48
  3. ASP-Ajax synchro avec le serveur
    Par blueghost dans le forum ASP
    Réponses: 1
    Dernier message: 26/03/2010, 11h01
  4. Réponses: 4
    Dernier message: 05/04/2007, 20h48
  5. Réponses: 7
    Dernier message: 15/08/2006, 01h31

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