Arrays MooTools JSONP请求完成后,存储阵列为空 path=devicePath+'offset='+offset+'&limit=20&'; var deviceRequest=new Request.JSONP({ url:path, callbackKey:'jsonp', 日志:是的, onComplete:函数(数据){ console.log('Done'); Gallery.innerHTML=''; 对于(i=0;i
您犯了一个常见错误:使用Arrays MooTools JSONP请求完成后,存储阵列为空 path=devicePath+'offset='+offset+'&limit=20&'; var deviceRequest=new Request.JSONP({ url:path, callbackKey:'jsonp', 日志:是的, onComplete:函数(数据){ console.log('Done'); Gallery.innerHTML=''; 对于(i=0;i,arrays,mootools,jsonp,Arrays,Mootools,Jsonp,您犯了一个常见错误:使用onComplete而不是onSuccess onComplete在请求完成时激发(即使有错误),并且不处理JSON onSuccess在请求成功时激发,并解析JSON。最后,onFailure在出现服务器错误(400、500等)时激发.仔细检查控制台输出,我还认为下面的代码试图在请求完成之前访问设备。这可能吗?我如何阻止它?您使用事件。onComplete是确保数据存在的唯一方法。您需要等待数据在e您运行代码的其余部分,或者您需要在代码最终到达时对其进行存根和处理。 p
onComplete
而不是onSuccess
onComplete
在请求完成时激发(即使有错误),并且不处理JSON
onSuccess
在请求成功时激发,并解析JSON。最后,onFailure
在出现服务器错误(400、500等)时激发.仔细检查控制台输出,我还认为下面的代码试图在请求完成之前访问设备。
这可能吗?我如何阻止它?您使用事件。onComplete是确保数据存在的唯一方法。您需要等待数据在e您运行代码的其余部分,或者您需要在代码最终到达时对其进行存根和处理。
path= devicePath + 'offset=' + offset + '&limit=20&';
var deviceRequest = new Request.JSONP({
url: path,
callbackKey: 'jsonp',
log: true,
onComplete: function(data){
console.log('Done');
Gallery.innerHTML = '';
for (i=0; i<20; i++){
devices[i]=data[i].device;
}
console.log(devices);
}
}).send();