Parcourir un objet JS

Par JeremieMeunier, il y a 8 ans


Bonjour,

J'ai créer un script qui me permet d'envoyer les formulaire en AJAX et je récupère les données en JSON.

Je me retrouve donc avec un tableau comme celui-ci :

Object { uname: Object, mail: Object, psw: Object }

Chaque Object à l'intérieur (comme le uname) comporte une seule ligne pour le moment :

mail: Object e_msg: "Veuillez renseigner une adresse mail" psw: Object e_msg: "Veuillez renseigner un mot de passe" uname: Object e_msg: "Veuillez renseigner un pseudo"

Voilà pour la base

Ce que je fait

Actuellement voil ce que j'effectue sur mon tableau de données

var msg = JSON.parse(ariel_xhr.response) var ref = msg.ref console.log(ref) for(var reffer in ref) { console.log(reffer) }

Ce qui me donne : uname, mail, psw.

Autremement dit, le nom des Object à l'intérieur, et moi j'aimerais pourvoir récupérer leurs données comme en PHP avec foreach

3 réponses

G1.3, il y a 8 ans

Salut

Je suis pas sûr d'avoir compris te demande, si c'est pour récupérer la valeur de ref avec la clef reffer, fait:

console.log(ref[reffer]);

Est-ce bien ta demande ?

betaWeb, il y a 8 ans

Salut,

Déjà, lors de ton appel AJAX, précise le Content-type de la réponse (si tu utilises la méthode $.ajax() de jQuery, il suffit de rajouter une clé responseType: 'json'. De cette façon, le navigateur parsera le JSON directement.
Ensuite, il ne te restera plus qu'à faire :

for (let item in response) { if (response.hasOwnProperty(item) console.log(item, response[item].e_msg); // response[item].e_msg étant le message que tu cherches à récupérer ;) }
JeremieMeunier, il y a 8 ans

La solution finale :

me.classList.remove('load') var res = ariel_xhr.response var msg = JSON.parse(res) var ref = msg.ref for(var reffer in ref) { var refferDock = me.querySelector('[data-ref="' + reffer + '"]') var err = document.createElement('p') err.classList.add('form-msg') err.classList.add('error') refferDock.appendChild(err) err.innerText = ref[reffer].e_msg }