J'essaie d'accéder aux valeurs d'un objet à partir d'une fonction que j'ai créée avec un rappel, mais j'ai rencontré des problèmes. Je suis encore relativement nouveau sur jQuery/javascript.jQuery accéder aux objets
J'appelle la fonction comme suit:
siteDeps(id,function(data){
$.each(data,function(key,val) {
console.log(key);
console.log(val);
});
});
La fonction est exécutée 5 requêtes ajax à partir de données XML et renvoie des données comme un objet multidimensionnel; voici un extrait montrant la viande de celui-ci:
function siteDeps(id,callback) {
var result = {
sitecontactid : {},
siteaddressid : {},
sitephoneid : {},
contactaddressid : {},
contactphoneid : {}
};
...//....
var url5 = decodeURIComponent("sql2xml.php?query=xxxxxxxxxxx");
$.get(url5, function(data){
$(data).find('ID').each(function(i){
result.sitephoneid[i] = $(this).text();
});
});
callback(result);
}
La sortie console.log montre ceci:
sitecontactid
Object
0: "2"
1: "3"
__proto__: Object
siteaddressid
Object
0: "1"
__proto__: Object
sitephoneid
Object
0: "1"
1: "5"
2: "54"
__proto__: Object
contactaddressid
Object
0: "80"
__proto__: Object
contactphoneid
Object
0: "6"
__proto__: Object
Comment puis-je extraire les données de rappel dans un format que je peux utiliser, par exemple sitephoneid: "1", "5", "54"
Ou existe-t-il un moyen meilleur/plus simple de le faire?
Merci d'avance.
Quel est le problème avec le format actuel? Dans la plupart des cas, un objet est le format le plus pratique pour travailler. – Christophe
@Christophe. La raison de la demande est que je ne peux pas physiquement sembler accéder à la deuxième dimension de l'objet. Ces résultats doivent être réinjectés dans un autre appel ajax. – Mawdryn
Par exemple result.sitephoneid ["1"] devrait retourner "5", est-ce que vous voulez dire par seconde dimension? – Christophe