Самый простой способ получить доступ к вашим извлеченным данным JSON - это присвоить их переменной уровня документа в функции загрузки xhrGet:
var fetchedData = null;
function parseResponse() { /* do something meaningful */ }
dojo.xhrGet({
url: "{{dataUrl}}dojo/LICENSE",
handleAs: "json",
preventCache: true,
load: function(response){
// save for later
window.fetchedData = response;
// do whatever processing we want with the returned data
parseResponse();
},
error: function(error){
alert("Couldn't fetch your data: " + error);
}
});
Да, нет. С тех пор я выучил гораздо лучший способ и забыл вернуться и исправить этот ответ, так что он заслуживает понизившихся голосов.
Правильный способ обработки данных, извлеченных из dojo.xhrGet, jQuery.ajax или любой другой асинхронной выборки данных, заключается в написании функции для обработки ее результатов и передаче ее в xhrGet как load аргумент, вот так:
var request = dojo.xhrGet({ url :'/disease_web/graphMlDownload/getEdgeInformation/',
handleAs: "json",
content : {edgeid : edgeId, graphname:this._canvas.path},
load: doSomethingWithMyEdges
});
function doSomethingWithMyEdges(json_results) {
console.log(json_results);
}