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 に答える