0
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();

如果我在此请求发送后尝试访问devices,我会得到“未定义”。但console.log(Devices)代码正确打印收到的数据。我不知道我的数据去了哪里。

4

1 回答 1

0

你犯了一个常见的错误:使用onComplete而不是onSuccess.

onComplete当请求完成时触发(即使有错误),并且不处理 JSON。

onSuccess如果请求成功则触发,并解析 JSON。最后,onFailure如果出现服务器错误(400、500 等)则触发。

于 2012-08-23T01:23:27.120 回答