Incapable de récupérer un objet json, encore...
ephelya
Messages postés
296
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
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
- Récupérer mon compte facebook désactivé - Guide
- Récupérer un numéro de téléphone effacé - Accueil - Android
- Comment récupérer un document dans le presse-papier samsung - 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);
});
});
}