如何在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/

10-11 13:45