Pb ajax, impossible de récupérer les données
Résolu
ephelya
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un scipt js. qui récupère une liste de news à afficher sur ma page d'accueil pour faire un infinite scroll. La fonction php fonctionne parfaitement mais je n'arrive pas à récupérer les données...
Voici mon script js
mon script php
et dans la console j'obtiens
mais si je fais un print_r($data) dans le script php et que j'enlève dataType: 'json',, la console m'affiche ça
Je n'arrive pas à comprendre où est mon erreur et comment récupérer mes données pour les afficher....
Merci d'avance pour votre aide !
J'ai un scipt js. qui récupère une liste de news à afficher sur ma page d'accueil pour faire un infinite scroll. La fonction php fonctionne parfaitement mais je n'arrive pas à récupérer les données...
Voici mon script js
$.ajax({ type: "POST", dataType: 'json', url: "<?php echo HOME; ?>ajx/ajax.php", data: {infinite: idmax, debug:0}, error : function(x,err){ alert(err); }, success: function(posts){ console.log("ok listnews 1 "+posts); console.log("ok listnews 2 "+posts.listnews); console.log("ok listnews 3 "+posts['listnews']); } });
mon script php
if ($infinite){ $result = infinite_news($infinite, $debug); } header('Content-Type: application/json'); echo json_encode($result); function infinite_news($idmax, $debug) { $iduser = $_SESSION['iduser']; $lim =\Models\Admin::get_option("nb_posts_home", $debug) -> value; $list = \Models\Admin::get_wallnews_list ($iduser, 0, $lim, $idmax, $statut, $debug); foreach ($list as $news) { $display[$news ->id]['class']=\Models\Admin::get_wallnews_class($news, 0); $display[$news ->id]['photo']=\Models\Admin::get_wallnews_photo($news, 0); $display[$news ->id]['action']=\Models\Admin::get_wallnews_action($news, 0); } $data['listnews'] = $display; if ($nb<$lim) { $data['stop'] = 1; } else { $data['stop'] = 0; } //print_r($data); return $data; }
et dans la console j'obtiens
ok listnews 1 [object Object] ok listnews 2 [object Object] ok listnews 3 [object Object]
mais si je fais un print_r($data) dans le script php et que j'enlève dataType: 'json',, la console m'affiche ça
ok listnews 1 Array ( [listnews] => Array ( [79] => Array ( [class] => admin new_flwd [photo] => [action] => lola vient de s'abonner à votre profil. Vous avez un profil cosmétique similaire à 27 %. <br>Voulez vous voir son profil et découvrir ce qui marche pour elle ? ) [78] => Array ( [class] => admin new_flwd [photo] => [action] => kali vient de s'abonner à votre profil. Vous avez un profil cosmétique similaire à 42 %. <br>Voulez vous voir son profil et découvrir ce qui marche pour elle ? ) [75] => Array ( [class] => new_fill [photo] => https://rosetomate.com/css/UPLOADS/VISUELS/profile_f.jpg [action] => <a href='https://rosetomate.com/perso/32'>kali</a> vient de s'inscrire sur Rose Tomate grâce à vous. ) ) [stop] => 1 ) {"listnews":{"82":{"class":" admin new_flwd","photo":null,"action":"kali vient de s'abonner \u00e0 votre profil. Vous avez un profil cosm\u00e9tique similaire \u00e0 42 %. <br>Voulez vous voir son profil et d\u00e9couvrir ce qui marche pour elle ?"},"81":{"class":" admin new_flwd","photo":null,"action":"kali vient de s'abonner \u00e0 votre profil. Vous avez un profil cosm\u00e9tique similaire \u00e0 42 %. <br>Voulez vous voir son profil et d\u00e9couvrir ce qui marche pour elle ?"},"80":{"class":" admin new_flwd","photo":null,"action":"kali vient de s'abonner \u00e0 votre profil. Vous avez un profil cosm\u00e9tique similaire \u00e0 42 %. <br>Voulez vous voir son profil et d\u00e9couvrir ce qui marche pour elle ?"},"79":{"class":" admin new_flwd","photo":null,"action":"kali vient de s'abonner \u00e0 votre profil. Vous avez un profil cosm\u00e9tique similaire \u00e0 42 %. <br>Voulez vous voir son profil et d\u00e9couvrir ce qui marche pour elle ?"},"78":{"class":" admin new_flwd","photo":null,"action":"kali vient de s'abonner \u00e0 votre profil. Vous avez un profil cosm\u00e9tique similaire \u00e0 42 %. <br>Voulez vous voir son profil et d\u00e9couvrir ce qui marche pour elle ?"},"75":{"class":" new_fill","photo":"https:\/\/rosetomate.com\/css\/UPLOADS\/VISUELS\/profile_f.jpg","action":"<a href='https:\/\/rosetomate.com\/perso\/32'>kali<\/a> vient de s'inscrire sur Rose Tomate gr\u00e2ce \u00e0 vous."}},"stop":1} ok listnews 2 undefined ok listnews 3 undefined
Je n'arrive pas à comprendre où est mon erreur et comment récupérer mes données pour les afficher....
Merci d'avance pour votre aide !
Configuration: Macintosh / Firefox 78.0
A voir également:
- Pb ajax, impossible de récupérer les données
- Fuite données maif - Guide
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Impossible de récupérer mon compte gmail - Guide
- Supprimer les données de navigation - Guide
- Récupérer mon compte facebook désactivé - Guide
3 réponses
Ça me donne ça dans la console :
mais que je fasse
ou
ou
dans tous les cas ça me donne ça dans la console et je ne vois pas comment récupérer mes données...
ok listnews 1 [object Object]
ok listnews 2 Object { listnews: {…}, stop: 1 }
ok listnews 3 Object { 75: {…}, 78: {…}, 79: {…}, 80: {…}, 81: {…}, 82: {…} }
mais que je fasse
$(posts.listnews).each(function (id, val) { console.log(" id ",id," val", val); });
ou
$(posts.listnews).each(function (a, b) { $(b).each(function (id, val) { console.log("id ",id," val", val); }); });
ou
$(posts.listnews).each(function (a, b) { $(b).each(function (c, d) { $(d).each(function (id, val) {console.log("id ",id," val", val);} ); }); });
dans tous les cas ça me donne ça dans la console et je ne vois pas comment récupérer mes données...
id 0 val Object { 75: {…}, 78: {…}, 79: {…}, 80: {…}, 81: {…}, 82: {…} }