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 faitActuellement 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
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 ;)
}
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
}
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 ?