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 :

Communication PHP - JS


Sujet :

jQuery

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut Communication PHP - JS
    Bonjour a tous, je debute en PHP
    En fait j' aimerais recuperer un tableau construit en php au niveau de mon fichier javascript avec post ajax de jQuery. Avec le code ca sera plus clair :

    Mon fichier php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
      for($var=5; $var<10; $var++){
        $myArray[]=$var;
      }
      echo json_encode($myArray);
    ?>

    et mon javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function(){
       $.getJSON("ajax.php", function(data) {
    	  var test = JSON.parse(data);
    	  alert(test);
       });
    });
    Il ne se passe rien .. Pourtant ca semble etre la base si on veut aller plus loin en php/js

    Merci pour votre aide

  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
    Avec getJSON(), le résultat passé à la fonction de rappel a déjà été parsé, donc la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var test = JSON.parse(data);
    provoque une erreur (JSON.parse() s'applique à une chaine, pas à un objet) et bloque le reste du script.
    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 averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    Merci pour ta reponse. En enelevant le json parse et en ajoutant un:
    rien ne se passe. Comment verifier que cela fonctionne. RAS sur firebug non plus

  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 : 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
    Il y a tellement de causes possibles (et différentes) que c'est difficile de te répondre avec si peu d'informations...

    Montre-nous plus de code...
    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
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    Le simple code html

    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
        <title>Test PHP</title>
        <link rel="stylesheet" href="css/my_custom_theme.min.css" />
        <link rel="stylesheet" href="css/jquery.mobile.structure-1.3.2.min.css" />
        <script src="js/jquery-2.0.3.min.js"></script>
        <script src="js/jquery.mobile-1.3.2.min.js"></script>
        <script type="text/javascript" charset="utf-8">         
            $(document).ready(function(){
               $.getJSON("ajax.php", function(data) {
                      alert(data[0]);
                    });
            });
         </script>
    </head>
     
    <body>
        <div id="page1" data-role="page" data-theme="a" >
    		<div data-role="header" data-position="fixed" data-tap-toggle="false">
    			<a href="" data-transition="slide" data-direction="reverse" data-role="button" data-icon="back" data-iconpos="notext"></a>
    			<h1>Header</h1>
    			<a href="index.html" data-role="button" data-icon="delete" data-iconpos="notext"></a>	
    		</div>
     
    	        <div data-role="content">							
    		</div>
     
    		<div data-role="footer" data-position="fixed" data-tap-toggle="false">
    			<h1>Footer</h1>
    		</div>
        </div>
    </body>
    </html>

    et le php associe

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
      for($var=5; $var<10; $var++){
        $myArray[]=$var;
      }
      echo json_encode($myArray);
    ?>

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    Pour detailler mon objectif : J'utilise Phonegap et donc HTML/JS/CSS, jQuery pour afficher des graphiques sur mon applications mobiles.
    Mon application va chercher des donnees qui sont dans differents fichiers xml pour tracer ces graphes. Donc j'effectue un post ajax pour loader un fichier xml, le parser et en faire un graphe avec les donnees qu'il contient,

    Prochaine etape : charger plusieurs fichiers xml (f1.xml, f2.xml, f3.xml ..) dont je ne connais pas forcement les noms pour en faire differents graphes et cela de facon automatique.

    Et comme ces fichiers seront sur un server FTP, j'ai lu plusieurs conseils qui preconisaient l'utilisation de PHP pour loader les fichier xml et les inclure dans un objet JSON.

    Enfin par un getJson au niveau de mon appli je pourrai tout recuperer. Mais comme je l'ai dit, je n'ai aucune base en PHP :/

  7. #7
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Par défaut
    Vous n'êtes pas obligé de passer par du JSON pour cela :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    // regroupe les éléments dans une chaîne de caractère
    echo implode(',', $myArray); 
    ?>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $(document).ready(function(){
        var request = jQuery.ajax({
            // votre requete ajax
        });
        request.done(function(msg) {
            // redecoupe le tableau en fonction du paramètre dans implode
            var data = msg.split(',');
            alert(data[0]); // ou data[1] : à vérifier
        });
    });

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 31
    Par défaut
    Merci pour ta reponse.
    Finalement je load et parse tout mes fichiers xml a l aide de PHP. Une fois que j'ai recupere les valeurs que je desire, je fais un :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    json_encore(ces_valeurs)

    Et du cote de mon application mobile je recupere le tout via une query ajax et du jsonp.

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

Discussions similaires

  1. Communication PHP - Hyperfile
    Par drommk dans le forum HyperFileSQL
    Réponses: 5
    Dernier message: 30/08/2006, 10h44
  2. Communication PHP - Hyperfile
    Par drommk dans le forum Langage
    Réponses: 3
    Dernier message: 21/08/2006, 09h51
  3. [Sécurité] Communication PHP => Interface Locale
    Par Niouts dans le forum Langage
    Réponses: 3
    Dernier message: 01/08/2006, 11h27
  4. [AJAX] Communication PHP ~ JavaScript
    Par TheBaeK1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2006, 18h24
  5. [PHP-JS] Communication PHP ~ JavaScript
    Par TheBaeK1 dans le forum Langage
    Réponses: 12
    Dernier message: 04/05/2006, 06h39

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