jsonpリクエストの結果から変数を作成しようとしていて、この変数をスクリプトの後半で使用しています。しかし、jsonpリクエストが行われる前に、変数が使用されている部分がトリガされているようです。jsonpリクエストの前にvarを読み込もうとしています
function onSuccess(data) {
var result = data['result'];
console.log(result);
}
function onError(data) {
alert(data);
}
$.ajax({
url:"http://suneeriksen.unboxer.org/",
cache: false,
dataType: 'jsonp',
jsonp: 'callback',
timeout: 5000,
success: onSuccess,
error: onError
});
var gallery,
el,
i,
page,
dots = document.querySelectorAll('#nav li'),
slides = result //this is where I try to fetch the variable
];
これがどのように実行されたかを把握しようとしました。私はjsonpリクエストを関数に入れようとしましたが、次のようにしています: var slides = jsonpResult();
何か手掛かりはありますか?
EDIT: は私もギャラリー変数
gallery.onFlip(function() {
//Doing stuff
}
を使用しての機能を持っていると私はするonSuccess関数内でこれらのすべてを置くことはできません。
さて、アクセスできないのは、アクセスしようとしているアクセス結果です。代わりに、 'result'変数に依存するコードは、' success'コールバックの内部に配置する必要があります。 –
良い提案ですが、ギャラリーvarに依存する後で呼び出される関数があります。私は私の質問にいくつかの情報を追加しました。 – Spoeken
それ以外の方法( 'async:false'を使わない)は、' jqXHR'オブジェクトを保存し、後で返されたデータを必要とするコードを実行する必要があるときにイベントをバインドするだけです。 –