DOJO xhrGet comment utiliser retourné objet json?
Comment puis-je accéder aux données renvoyées par le xhrGet à l'extérieur de l'obtenir elle-même? Firebug montre que les "json" objet a un tableau appelé résultats, qui stocke l'Objet json à partir de la réponse, mais quand j'essaye de l'ouvrir il est nul. Donc: comment puis-je accéder à l'ensemble des données reçues sur la dernière ligne de code?
var json = dojo.xhrGet({
url :'/disease_web/graphMlDownload/getEdgeInformation/', handleAs:"json",content : { edgeid : edgeId, graphname:this._canvas.path},
load:function(response){
return response;
}
});
console.log(json.ioArgs);
console.log(json.results);
OriginalL'auteur Martin Lechner | 2010-10-28
Vous devez vous connecter pour publier un commentaire.
Par défaut dojo.xhrGet est appelée de façon asynchrone, donc de la console.log(json.résultats) est nulle, car il est exécuté juste après le dojo.xhrGet, mais avant la réponse vient de serveur.
Le résultat est:
1 faux
De réponse de 2 - ['certaines données du serveur"]
3 xhrGet.résultats[0] - les mêmes données que dans la 'réponse' accessible via xhrGet
OriginalL'auteur keemor
Le plus simple pour accéder à votre récupéré les données JSON est à attribuer à un document de niveau variable au sein de l'xhrGet la fonction de charge:Oui, non. Depuis, j'ai appris une bien meilleure façon, et j'ai oublié de revenir et corriger cette réponse, donc il mérite le downvotes il des charges.
La bon façon de traiter avec les données lues à partir de dojo.xhrGet, jQuery.ajax, ou de toute autre asynchrones extraction de données est d'écrire une fonction pour traiter de ses résultats, et de le passer à xhrGet comme le charge argument, comme suit:
Non, vous avez tout à fait raison. Je lui ai répondu ce que j'ai vraiment grokked la façon de faire les choses de la "bonne" façon.
Réécrit avec une meilleure réponse.
OriginalL'auteur Rylee Corradini