Incapable de récupérer un objet json, encore...
ephelya
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un script ajax qui récupère une série de phrases depuis un fichier php.
et
je récupère bien mes données, mais je n'arrive pas à exploite les phrases, voici ce que me donne la console
Qu'est-ce que je fais mal ? Pourquoi je ne récupère pas mes phrases ??
Merci d'avance pour le coup de pouce ! :-)
J'ai un script ajax qui récupère une série de phrases depuis un fichier php.
$(document).ready(function () { $.ajax({ data: {iduser:''}, type: "POST", dataType: 'json', url: "<?php echo HOME; ?>getpacks.php", //Relative or absolute path to response.php file error : function(x,err){ alert(err); }, success: function(data) { console.log(data); var theme = data.name; var phrases = data.phrases; console.log("thème "+theme+" et phrases "+phrases); $(phrases).each(function(id, ph) { console.log("id: "+id+" phrase :"+ph) $(ph).each(function (a, b) { console.log("a "+a+" b "+b); $(b).each(function (c, d) { console.log("c "+c+" d "+d); }); }); }); } });
et
$packs = get_active_pack($iduser); header('Content-Type: application/json'); echo json_encode($packs); function get_active_pack($iduser) { $query = "SELECT idtheme idpack, name_".LANG." name FROM ".PREFIX."packs_activ pa LEFT JOIN ".PREFIX."packs p ON pa.idtheme=p.id ANS statut = 1 AND iduser = $iduser"; try{ $requete = $db -> prepare($query) ; $requete->execute() ; $res = $requete -> fetchAll(); $idpack = $res[0] -> idpack; $pack['id'] = $idpack; $pack['name'] = $res[0] -> name; $query = "SELECT id, ".LANG."_phrase phrase FROM ".PREFIX."phrases WHERE idtheme = $idpack"; try{ $requete = $db -> prepare($query) ; $requete->execute() ; $phrases = $requete -> fetchAll(); foreach ($phrases as $phrase) { $listphrases[$phrase -> id] = $phrase -> phrase; } $keys = array_keys($listphrases); shuffle($keys); foreach($keys as $key) { $new[$key] = $listphrases[$key]; } $pack['phrases'] = $new; return ($pack); }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; } }
je récupère bien mes données, mais je n'arrive pas à exploite les phrases, voici ce que me donne la console
Object { id: "2", name: "Thème 2", phrases: Object { 1: "phrase1843", 2: "phrase2"}}
thème Thème 2 et phrases [object Object]
id: 0 phrase :[object Object]
a 0 b [object Object]
c 0 d [object Object]
Qu'est-ce que je fais mal ? Pourquoi je ne récupère pas mes phrases ??
Merci d'avance pour le coup de pouce ! :-)
A voir également:
- Incapable de récupérer un objet json, encore...
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer un numéro de téléphone effacé - Accueil - Android
- Récupérer mon compte facebook désactivé - Guide
1 réponse
Bonjour,
Dans tes consoles.log tu mixe du "string" avec des objets... d'où l'affichage que tu obtiens....
Essayes plutot ça :
Dans tes consoles.log tu mixe du "string" avec des objets... d'où l'affichage que tu obtiens....
Essayes plutot ça :
success: function(data){ console.log(data); var theme = typeof(data.name)!='undefined' ? data.name : null; var phrases = typeof(data.phrases)!='undefined' ? data.phrases : null; console.log("thème "+theme+" - phrases :"); console.log(phrases); phrases.each(function(id, ph) { console.log("id: "+id+" - phrase :"); console.log(ph); ph.each(function (a, b) { console.log("a "+a+" - b :"); console.log(b); }); }); }