[jQuery et PHP] Array d'objet en JSON ?
Résolu/Fermé
A voir également:
- Php tableau d'objet
- Tableau word - Guide
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Vente objet occasion entre particulier - Guide
- Trier tableau excel - Guide
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
2 nov. 2016 à 16:07
2 nov. 2016 à 16:07
Salut,
Tu peux utiliser la fonction PHP json_encode() à la fin de ton traitement php pour retourner le tableaux des articles au format json :
Coté js, tu vas pouvoir récupérer ce tableau d'articles au format json via la variable data de la fonction de retour de la requête ajax. Tu peux alors parcourir la variable data comme n'importe quel tableau d'objet js :
Si jQuery n'arrive pas à détecter automatiquement le format json de la variable data, tu devras peut-être utiliser la fonction jQuery parseJSON pour utiliser facilement cette variable au début de la fonction de retour :
Bonne journée,
Tu peux utiliser la fonction PHP json_encode() à la fin de ton traitement php pour retourner le tableaux des articles au format json :
echo json_encode($articles);
Coté js, tu vas pouvoir récupérer ce tableau d'articles au format json via la variable data de la fonction de retour de la requête ajax. Tu peux alors parcourir la variable data comme n'importe quel tableau d'objet js :
var nbArticles = data.length; for (var i = 0; i < nbArticles; i++) { // un article console.log(data[i]); // titre d'un article console.log(data[i].titre); }
Si jQuery n'arrive pas à détecter automatiquement le format json de la variable data, tu devras peut-être utiliser la fonction jQuery parseJSON pour utiliser facilement cette variable au début de la fonction de retour :
data = $.parseJSON(data);
Bonne journée,
Merci pour ta réponse :)
je pense avoir fais les changements nécéssaires mais lorsque j'affiche console.log(data) dans le navigateur j'obtiens ca:
https://user.oc-static.com/upload/2016/11/02/1478115185542_Capture.PNG
et si je déplie un peu : https://user.oc-static.com/upload/2016/11/03/14781733658662_Capture.PNG
:/ et si je fais data[1].title par exemple j'obtiens "undefined" pareil si je fais data[2].text etc.. quel est le problème ??? merci !
je pense avoir fais les changements nécéssaires mais lorsque j'affiche console.log(data) dans le navigateur j'obtiens ca:
https://user.oc-static.com/upload/2016/11/02/1478115185542_Capture.PNG
et si je déplie un peu : https://user.oc-static.com/upload/2016/11/03/14781733658662_Capture.PNG
:/ et si je fais data[1].title par exemple j'obtiens "undefined" pareil si je fais data[2].text etc.. quel est le problème ??? merci !
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
526
7 nov. 2016 à 11:29
7 nov. 2016 à 11:29
Peut tu essayer d'appeler la page PHP retournant la liste des articles directement via ton navigateur (sans passer par la requête ajax) afin de voir le code json retourné par ce fichier ?
Peux tu nous montrer ce retour json afin de voir où est le problème ?
Coté js, tu peux également essayer de faire un console.log(data[i]); ou console.log(data[1]); pour voir le détail d'un objet du tableau data.
Peux tu nous montrer ce retour json afin de voir où est le problème ?
Coté js, tu peux également essayer de faire un console.log(data[i]); ou console.log(data[1]); pour voir le détail d'un objet du tableau data.