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 :

récupérer variable php


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut récupérer variable php
    Bonjour,

    je travaille sur une application javascript, et j'ai besoin de communiquer avec un serveur, donc avec un fichier php. J'ai sur ce fichier une fonction php qui renvoie la liste des fichiers du serveur sous format json. Je n'ai à présent qu'un seul problème : comment exécuter cette fonction et en récupérer le résultat depuis mon application javascript ?

    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
    function filesList($dirname) {
        $dir = opendir($dirname);
        $filesArray = array();
     
        while($file = readdir($dir)) {
            if($file != '.' && $file != '..' && !is_dir($dirname.$file))
            {
                $filesArray[] = $file;
            }
        }
     
        closedir($dir);
        $jsonList = json_encode($filesArray);
        return $jsonList;
    }

  2. #2
    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
    Bonjour,

    ça c'est AJAX.

    A+.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    oui, je m'en doute bien. Je vais expliquer un peu mieux le pb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        maListeDeFichiers = null;
     
        $.ajax({
            url: monFichier.php,
            type: "GET",
    	success: ???,
        });
    Que mettre dans success pour récupérer la liste et la mettre dans maListeDeFichiers?

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    success: function(data){alert(data) },
        });
    data sera le résultat retourne par le fichier coté serveur.

  5. #5
    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 : 55
    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
    Déjà, si tu es censé récupérer un format JSON, il est préférable de l'indiquer à jQuery
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.ajax({
        url: monFichier.php,
        type: "GET",
        dataType: "json",
        success: ???,
    });
    Ceci dit, le mieux est encore d'utiliser la méthode getJSON().

    Sinon
    Que mettre dans success pour récupérer la liste et la mettre dans maListeDeFichiers?
    Euh...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    success: function(data){
        alert(data);
    }
    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

  6. #6
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    Ceci dit, le mieux est encore d'utiliser la méthode getJSON().
    Ah? Pourquoi c'est mieux? Je veux dire, c'est juste plus court, ou il y a une différence?

    data sera le résultat retourne par le fichier coté serveur.
    Ca veut dire qu'il me faut un fichier php pour chaque fonction que je veux utiliser?! Mettons que dans monFichier.php j'aie 3 fonctions, il n'y a pas moyen avec ajax de n'en exécuter qu'une parmi les trois? Ou alors, si c'est possible, comment je fais?

  7. #7
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Par défaut
    Citation Envoyé par Sharcoux Voir le message
    Ah? Pourquoi c'est mieux? Je veux dire, c'est juste plus court, ou il y a une différence?



    Ca veut dire qu'il me faut un fichier php pour chaque fonction que je veux utiliser?! Mettons que dans monFichier.php j'aie 3 fonctions, il n'y a pas moyen avec ajax de n'en exécuter qu'une parmi les trois? Ou alors, si c'est possible, comment je fais?
    getJSON est spécialement optimisée dans le cas de la réception de JSON autant s'en servir

    Pour ton fichier php tu peux faire un switch sur un paramètre que tu enverras avec ta requête ajax :

    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
     
    <?php
     
    switch($_GET['action']){
       
       case 'function1':
          functionOne();
          break;
     
     
       case 'function2':
          functionTwo();
          break;
    }
     
    function functionOne(){
    }
     
    function functionTwo(){
    }
    ?>

  8. #8
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    Euh... Désolé d'avance pour la question stupide, mais comment je fais pour fournir un paramètre au php ?

    c'est quelque chose comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $.ajax({
        url: monFichier.php,
        type: "GET",
        dataType: "json",
        data: {action:"paramètre"}
        success: ???,
    });
    puis


  9. #9
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Par défaut
    Voilà c'est ça mais oublies pas la virgule à la fin de la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $.ajax({
        url: monFichier.php,
        type: "GET",
        dataType: "json",
        data: {action:"paramètre"},
        success: ???,
    });

  10. #10
    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 : 55
    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
    Désolé d'avance pour la question stupide
    Non, la question n'est pas stupide, en revanche, la réponse est clairement présente dans la doc officielle

    Attention toutefois aux risques de confusion : dataType correspond au format que tu attends en réponse du serveur et n'a rien à voir avec le format des données envoyées.
    Passer un objet à la propriété data est autorisé, mais oblige jQuery à les retransformer en chaine GET classique avant l'envoi, il est donc préférable d'utiliser la syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: 'action=paramètre',
    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

  11. #11
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 442
    Par défaut
    Merci beaucoup pour vos réponses. En particulier pour les petits éclaircissements sur le rôle de dataType

    Pour moi, le pb est résolu

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

Discussions similaires

  1. Récupérer variable php dans une redirection js
    Par loic20h28 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/03/2010, 21h32
  2. Réponses: 12
    Dernier message: 14/12/2008, 13h17
  3. Récupérer variables PHP en GET en AS3
    Par kiouz dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 23/02/2008, 14h52

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