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

jQuery Discussion :

Requête Ajax Tableau Json


Sujet :

jQuery

  1. #1
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut Requête Ajax Tableau Json
    Bonjour,

    Voila j'ai une variable d'un fichier .php que je veux faire passer dans un fichier .js.
    Pour cela je veux utiliser une requête ajax

    Voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		  var html = $.ajax({
                            data : getElementByID("res").innerHTML,
    			url : "bd_objets.php",
    			cache : false
                      });
    Cela ne fonctionne pas

    Comment faire passer une variable d'un fichier php à un js en utilisant une requête ajax ?

    Merci d'avance pour vos réponses

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

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par sylvain230
    Cela ne fonctionne pas
    C'est sur qu'en inventant des noms de fonction, ça rend compliqué pour JavaScript de comprendre ce qu'il faut faire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('res')
    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
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    Merci pour cette première réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<div id = "res">
    			<?php $res = json_encode($tab[1]); ?>
    	</div>
    En gros voila ce que je veux faire passer dans mon Javascript :

    Voici la requête Ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     var html = $.ajax({
                        url : "bd_objets.php",
                        data : document.getElementById("res").innerHTML,
                        cache : false
                      });
    et voici le message d'erreur que je ne comprend pas

    Uncaught TypeError: Cannot read property 'innerHTML' of null

    Avez vous des idées ?

  4. #4
    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
    Par défaut
    Salut,

    Le div est-il déjà créé au moment de l'appel AJAX?

    Sinon, pourquoi pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data : $("#res").html(),
    A+.

  5. #5
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    je n'y arrive vraiment pas.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    		  var html = $.ajax({
                        url : "bd_objets.php",
                        data : $("#res").html(),
                     //   cache : false,
     
                        success:function(data) {
                            alert("1" + data);
                        }
                      });
     
                      alert("2" + html);
    Avec le .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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <body>
     
            <?php
            // Connexion à la base de données
            $bdd = mysql_connect("localhost", "root", "");
            if (!$bdd) {
                die('Non connecté : ' . mysql_error());
            }
     
     
            // Sélection de la base
            $db_web3D = mysql_select_db('web3d', $bdd);
            if (!$db_web3D) {
                die('Impossible d\'utiliser la base : ' . mysql_error());
            }
     
            $query = "select * from objets";
            $result = mysql_query($query);
     
     
     
            $nb = mysql_numrows($result); // Nombre d'enregistrements
     
            $i = 1;
            $tab = array();
            while ($enregistrement = mysql_fetch_array($result)) {
     
                $test = $enregistrement;
                $tab[$i] = $test;
     
                $i++;
            }
     
            $res = json_encode($tab[1]);
     
     
     
    			?>
    			<div id = "res">
    			<?php echo $res;?>
    			</div>
            	</body>
    Voila si vous pouvez m'aider :s

  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
    Par défaut
    Montre nous le code html généré et l'endroit (moment) où tu fais appel à la requête Ajax.

  7. #7
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    Voila

    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
    <!DOCTYPE html>
    <html lang ="fr">
     
        <head>
     
        </head>
     
     
        <body>
     
     
     
            <script src="js/jquery-1.6.1.min.js"></script>
     
            <script>
            //    var html = "bd_objets.php";
            //    var tab = [];
        /*      bodyContent = $.ajax({
                    type : "POST",
                    global: false,
                    url : html,
                    data : $res,
                    async : false,
                    success : function(data) {
                   alert('slt');
                    for(id in data){
     
                        tab[id] = data[id];
                    }
                }
              });*/
     
    		  var html = $.ajax({
                        url : "bd_objets.php",
                        data : $("#res").val(),
                     //   cache : false,
     
                        success:function(data) {
                            alert("1" + $("#res").html());
                        }
                      });
     
                      alert("2" + html);
                      alert($("#res").html());
    //$.getJSON(
    //            'bd_objets.php',
    //            {chaine: $('#chaine').val()},
    //            function(data){
    //                $('#retour').hide();
    //                $('#retour').html('')
    //                    .append('<b>Paramètre en majuscule</b> : '+data.chaine+'<br>')
    //                    .append('<b>Date</b> : '+data.date+'<br>')
    //                    .append('<b>Version PHP</b> : '+data.phpversion+'<br>');
    //                $('#retour').fadeIn();
    //            }
     
            </script>
     
     
     
     
     
            <script src="js/RequestAnimationFrame.js"></script>
            <script src="js/ShaderExtras.js"></script>
            <script src="js/Three.js"></script>
            <script src="js/optimer_bold.typeface.js"></script>
            <script src="js/optimer_regular.typeface.js"></script>
            <script src="js/clavier.js"></script>
            <script src="js/oceane.js"></script>
            <script src="js/deplacement.js"></script>
     
        </body>
     
    </html>

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

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Heu... tu n'as pas remarqué que dans ta page, il n'y a aucun élément dont l'id est res ? D'ailleurs, il n'y a aucun élément tout court !
    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
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    Ben oui mais l'id je vais le chercher dans le fichier .php non ?

  10. #10
    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
    Par défaut
    Javascript ne réagit que sur le code HTML généré mais pas le code PHP or que dans ton code HTML généré, il n'y a pas de div avec l'id "res" .

    A+.

  11. #11
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    mais alors je fais comment pour faire passer ma variable du coup ?


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

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ben... à priori
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo json_encode($tab[1]);
    suffit amplement

    Et tu devrais regarder du coté de la méthode getJSON() de jQuery...
    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

  13. #13
    Membre très actif Avatar de sylvain230
    Homme Profil pro
    Orléans
    Inscrit en
    Mai 2008
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Orléans
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 234
    Par défaut
    bon en faisant ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                var data_html = $.ajax({
                    url : "bd_objets.php",
                    cache : false
     
                });
    et avec ca dans mon 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
            <?php
            // Connexion à la base de données
            $bdd = mysql_connect("localhost", "root", "");
            if (!$bdd) {
                die('Non connecté : ' . mysql_error());
            }
     
     
            // Sélection de la base
            $db_web3D = mysql_select_db('web3d', $bdd);
            if (!$db_web3D) {
                die('Impossible d\'utiliser la base : ' . mysql_error());
            }
     
            $query = "select * from objets";
            $result = mysql_query($query);
     
     
     
            $nb = mysql_numrows($result); // Nombre d'enregistrements
     
            $i = 1;
            $tab = array();
            while ($enregistrement = mysql_fetch_array($result)) {
     
                $test = $enregistrement;
                $tab[$i] = $test;
     
                $i++;
            }
     
            $res = json_encode($tab);
     
            echo $res;
     
    			?>
    J'arrive à afficher le résultat de la requête mais pas à le sortir de la requête ajax dans une variable ...

Discussions similaires

  1. [AJAX] Ecriture dans un fichier json avec une requête AJAX
    Par DarkPoster14 dans le forum jQuery
    Réponses: 1
    Dernier message: 10/07/2012, 09h45
  2. Réponses: 1
    Dernier message: 16/05/2012, 08h48
  3. Requête AJAX vers PHP, back-end JSON et résultat
    Par wenijah dans le forum jQuery
    Réponses: 2
    Dernier message: 23/04/2012, 14h19
  4. Renvoyer un tableau après une requête AJAX
    Par franquis dans le forum jQuery
    Réponses: 6
    Dernier message: 06/08/2010, 13h05

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