Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2011, 09h55   #1
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
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 :
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
sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 10h03   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
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 :
document.getElementById('res')
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 10h14   #3
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
Merci pour cette première réponse

Code :
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 :
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 ?
sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h28   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Salut,

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

Sinon, pourquoi pas
Code :
data : $("#res").html(),
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h42   #5
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
je n'y arrive vraiment pas.
Voici mon code :

Code :
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 :
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
sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h55   #6
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Montre nous le code html généré et l'endroit (moment) où tu fais appel à la requête Ajax.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h59   #7
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
Voila

Code :
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>
sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 12h02   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 13h27   #9
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
Ben oui mais l'id je vais le chercher dans le fichier .php non ?
sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 13h30   #10
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
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+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 14h06   #11
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
mais alors je fais comment pour faire passer ma variable du coup ?

sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 14h11   #12
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Ben... à priori
Code php :
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 14h23   #13
 
Avatar de sylvain230
 
Homme Sylvain
Poitiers
Inscription : mai 2008
Messages : 229
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Poitiers
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : mai 2008
Messages : 229
Points : -3
Points : -3
bon en faisant ca

Code :
1
2
3
4
5
            var data_html = $.ajax({
                url : "bd_objets.php",
                cache : false
 
            });
et avec ca dans mon php


Code :
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 ...
sylvain230 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h22.


 
 
 
 
Partenaires

Hébergement Web