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] tuto AJAX et XMLHttpRequest


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut [AJAX] tuto AJAX et XMLHttpRequest
    Bonjour tout le monde

    je suis entrain d'etudier le Tuto :
    Web 2.0, allez plus loin avec AJAX et XMLHttpRequest

    mais j'ai un souci , rien ne s'affiche dans les menus deroulants.

    je voulais savoir ce que signifie cette ligne :
    xhr.send("idAuteur="+idauteur);

    je ne comprend pas trop , idAuteur et idauteur ?? quelle est la difference

    idAuteur doit correspondre au champs dans ma table ?


    si quelqu'un peux m'explique c'est cool

    merci

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    dans ce cas, tu vas appeler un fichier php en méthode POST. les attributs, qui sont à la base dans des formulaires, sont ici regroupés dans le .send. C'est un peu comme une method GET si tu préfères ^^

    méthode GET :
    fichier.php?nom_Auteur=" + nom_auteur

    méthode POST :
    fichier.php
    xhr.send("nom_Auteur=" + nom_auteur);

    "nom_Auteur" est le référentiel que tu utiliseras dans ta page php : $_GET['nom_Auteur'] ou $_POST['POST'].
    Et nom_auteur sera une variable javascript.

    j'ai un peu synthétisé alors si tu as d'autres questions, n'hésite pas

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 221
    Points : 233
    Points
    233
    Par défaut
    xhr.send("idAuteur="+idauteur);
    idAuteur le nom de ta variable POST et idauteur la valeur. Mais send dois etre null pour une requete de type GET. De toute facon cette question est axée ajax et non pas javascript

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    merci pour vos reponses

    j'ai suivie tes conseils Nosty , mais rien ne s'affiche dans le menu deroulant

    ca c'est dans le formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Ici on va voir comment faire du post
    xhr.open("POST","ajax.php",true);
    // ne pas oublier ça pour le post	
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l''entité
    sel = document.getElementById('entite');// ca corespond a la table entite ?
    ENTITE = sel.options[sel.selectedIndex].value;
    xhr.send("ENTITE="+identite);
    ca c'est le menu select du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <select name='entite' id='entite' onchange='go()'>
    	<option value='-1'>Aucun</option>
    <?
    mysql_connect("localhost","XXX","XXXXX");
    mysql_select_db("plandenum");
    $res = mysql_query("SELECT * FROM entite");
    while($row = mysql_fetch_assoc($res))
    {echo "<option value='".$row["ID_ENTITE"]."'>".$row["ENTITE"]."</option>";
    }
    ?>
    </select>
    et ca le fichier de traitement 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
    echo "<select name='numerosda'>";
    if(isset($_POST["ENTITE"])){
    mysql_connect("localhost","XXXXX","XXXX");
    mysql_select_db("plandenum");
     
    $res = mysql_query("SELECT ID_NUMEROSDA,NUMERO FROM numerosda WHERE ENTITE=".$_POST["ENTITE"].");
     
    while($row = mysql_fetch_assoc($res))
    {
    echo "<option value='".$row["ID_NUMEROSDA"]."'>".$row["NUMERO"]."</option>";
    }
    	                                     }
    echo "</select>";
    ?>
    je ne sais pas si je me suis enbrouiller dans les nom avec tout les "entite" que j'ai ecrit

    si tu vois une erreur je suis preneur

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    Pour commencer, voici un petite erreure ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ENTITE = sel.options[sel.selectedIndex].value;
    xhr.send("ENTITE="+identite);
    ca devrait etre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    identite = sel.options[sel.selectedIndex].value;
    xhr.send("ENTITE="+identite);
    une autre là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query("SELECT ID_NUMEROSDA,NUMERO FROM numerosda WHERE ENTITE=".$_POST["ENTITE"].");
    replace cette ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query("SELECT ID_NUMEROSDA,NUMERO FROM numerosda WHERE ENTITE=".$_POST["ENTITE"]);

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    j'ai corrigé les erreurs MERCI BEAUCOUP

    donc maintenant j'ai le premier menu deroulant qui affiche bien la table entité.

    MAIS parce que il y a toujour un mais ^^

    quand je selectionne l'entite dans le menu deroulant , le deuxieme menu n'affiche rien

    ca vient peut etre de la connexion ou d'un nom de champs je vais verifier tout ca

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    essai de faire un petit dégogage de ton javascript. c'est à dire : met quelques alert un peu partout pour voir jusqu'où va ton script et quelles valeurs ont tes variables. Ainsi, tu verras où le problème se situe.

    As-tu fais ta fonction pour initialiser ton xhr ?
    Ton navigateur n'est-il pas trop vieux pour gérer les XMLHttpRequest ou ActiveX ? (mais je doute que ce soit ça XD)

    Le meilleur moyen d'apprendre de ses erreurs, c'est de les trouver soit même. Il suffit d'un peu de patience et de beaucoup d'alert

    Bon courage

  8. #8
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    non je n'ai pas fait la fonction pour initialiser mon xhr, donc ca doit etre certainement ca

    et tout cas merci beaucoup pour ton aide

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    ca y est ca marche !!!!!

    enfaite il suffissé de remplace 'ID-ENTITE' par 'ENTITE' dans

    $res = mysql_query("SELECT ID_NUMEROSDA,NUMERO FROM numerosda WHERE ID_ENTITE=".$_POST["ENTITE"]);


    And the winner is BOUBOURSE

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 26
    Points
    26
    Par défaut
    Bravo boubourse

    Pour éviter le problème de la fonction qui initialise ton xhr, et une fois que tu auras assimiler la philosophie d'AJAX, je te conseille d'utiliser prototype.js qui te fera gagner un maximum de temps dans le codage de tes applications.
    Tu trouveras pas mal d'informations sur le site en français.

    Bonne continuation

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

Discussions similaires

  1. [AJAX] Code tuto Ajax fonctionne pas sous FF, mais IE et OP sont OK
    Par hugo69 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/01/2007, 21h27
  2. [AJAX] [FFx] Problème avec XMLHttpRequest
    Par GreenDay dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/12/2006, 12h09
  3. [AJAX] Question sur un tutos ajax
    Par maximenet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/03/2006, 21h05

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