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

AJAX Discussion :

Exploiter les données d'une requête Ajax


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Guinée

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 45
    Points : 36
    Points
    36
    Par défaut Exploiter les données d'une requête Ajax
    Bonjour,

    J'ai une 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
    22
    23
    24
    25
    26
    27
    28
     $(document).ready(function(){   
     
                        $("#amis_commun_liste .afficher_plus_modal").bind('click',function f(){
                         var afficher_plus_modal = $(this).attr("class");
                       var id = "<?php  echo $_GET['id']; ?>";
     
                         $(this).unbind('click',f);
                         $.ajax({
                         type: "post",
                         url: "voir_profil_includes/func_infos.php",
                         data: {
                              "afficher_plus_modal": afficher_plus_modal,
                              "id" : id           
                            },
                         beforeSend: function() {
                            $("#amis_commun_liste .afficher_plus_modal").html("En cours");
                         },
                         success: function(data) {
                            if (data =="success") {                          
                            //Zone de traitement après le succes de l'operation
     
     
                            }
                         }
                         });
                      });
     
                    });
    La requête Ajax fait appel à cette requête php/mysql dans func-infos.php:
    Code php : 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
     if (!empty($_POST['afficher_plus_modal'])) {
       require("../voir_profil_includes/connect_db.php");
        $infos = [];
        $q = $bdd->prepare(" SELECT u.id,
      u.nom, u.prenom, u.avatar,u.couverture
    FROM users u
    INNER JOIN
    (
      SELECT id_exp, id_des
      FROM friends
      WHERE id_exp IN(:id_exp, :id_des)
        AND active = 1
      UNION
      SELECT id_des, id_exp
      FROM friends
      WHERE id_des IN(:id_exp, :id_des)
        AND active = 1
    ) tmp ON tmp.id_des = u.id
    GROUP BY u.id
    HAVING COUNT(*) = 2
    ORDER BY RAND() LIMIT 5
    ");
         $q->execute(array(
                        "id_exp" => $_POST["id"],
                        "id_des" => info_profil()->id
                        ));
     
          while ($info = $q->fetch(PDO::FETCH_OBJ)) {
                 $infos[] = $info;               
                 }      
         // ON returne les données après operation
            return $infos;
         //On informe Ajax que l'operation s'est bien effectué
         echo "success";
    }

    Ce code ne produit pas d'erreurs mais je ne sais pas comment je pourrais recuperer les donnees retournées depuis func_infos.php" pour mettre à jour la page liste_ami_commun.php en affichant les nouvelles données dans liste_ami_commun.php.

    Merci mais je sais que ça sera pas un travail simple.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour envoyer les données, vous pouvez les transmettre au format JSON
    vous pouvez le faire en mettant cela à la fin du fichier PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    header("Content-Type: application/json");
     
    echo json_encode($infos);
    exit();
    ensuit dans le code JavaScript utilisez le code suivant pour voir ce qui est récupéré "console.log(data);"

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Guinée

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 45
    Points : 36
    Points
    36
    Par défaut
    Je sais pas utiliser le debogger, je travaille directement dans le navigateur sur le serveur local
    et j'ai essayé cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var myJSON = JSON.stringify(data);
          alert(myJSON);
    Mais il me retourne les données dans les crochets et les guillemets, comment je pourrai les supprimer ?
    Merci.

  4. #4
    Membre régulier
    Homme Profil pro
    Fabricant de ressorts - programmeur amateur
    Inscrit en
    Janvier 2003
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Fabricant de ressorts - programmeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2003
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    Le Json a effectivement l'inconvénient de rajouter des choses parasites (et je n'ai jamais réussi à m'en servir ).
    Pour ma part, je fais simplement dans le php un echo avec les valeurs à passer avec un séparateur "|" que je privilégie car il est codé pareil sous tous les codages et avec une traduction en utf8 car le passage de valeurs se passe en utf8 entre le php et le javascript.
    A l'arrivée dans le javascript, je récupère le contenu envoyé, puis je lance un .split("|"); pour séparer mes variables individuellement et pouvoir les traiter.
    mac pro bi-quad néhalem (2009) (16 proc et 8Go me MeV)
    Programmation : HTML - Javascript - PHP - AJAX - CSS : niveau amateur pour l'ensemble.

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/09/2006, 14h41
  2. Remplir Etat avec les données d'une requête
    Par emeraudes dans le forum IHM
    Réponses: 9
    Dernier message: 31/05/2006, 16h55
  3. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 15h53
  4. Réponses: 7
    Dernier message: 09/11/2005, 14h37
  5. Réponses: 2
    Dernier message: 05/10/2005, 15h27

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