如何在get本身之外访问从xhrGet返回的数据? Firebug显示“ json”对象有一个名为result的数组,该数组存储响应中的json Object,但是当我尝试访问它时,它为null。因此:如何在最后一行代码中访问接收到的数据?
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);
最佳答案
默认情况下,dojo.xhrGet是异步调用的,所以console.log(json.results)为null,因为它仅在dojo.xhrGet之后但在服务器发出响应之前运行。
var xhrGet = dojo.xhrGet({
url: "/some_rul",
handleAs: "json",
handle: function(response) {
console.info(2,'response',response);
console.info(3,'xhrGet.results[0]',xhrGet.results[0]);
}
});
console.info(1,xhrGet.hasOwnProperty('results'));
结果是:
1假
2个响应-[“来自服务器的某些数据”]
3 xhrGet.results [0]-与通过xhrGet访问的“响应”中的数据相同
关于ajax - DOJO xhrGet如何使用返回的json对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4044489/