JSON を取り込みますが、残りのコードを実行する前にその情報が必要です。私はjQueryに非常に慣れていないので、 $.when() を見て、AJAX asyncをfalseに設定しています(これはおそらく最良のオプションではありません)。また、変数が AJAX 呼び出しの外で定義されていないという問題もあります。ここに私のコードがあります - どんな助け/提案も本当に感謝しています.
//AJAX 呼び出しが行われている間は何も表示しません (ここに読み込みスピナーが追加されます)
$('body').css('display','none');
//画像をロードするための Ajax 呼び出し
var test = $.ajax({
dataType: "json",
url: "../quiz/scripts/test.json",
success: function() {
console.log("Loaded in AJAX");
var results = test.responseJSON.Items.Pics;
console.log(results);
$('body').css('display','block');
}
});
// 結果変数を取得しようとしています
console.log("Loaded Outside of AJAX");
console.log(results);
コンソールは私にこれを与えています:
Loaded Outside of AJAX [VM] quiz.js (23396):18
Uncaught ReferenceError: results is not defined [VM] quiz.js (23396):19
XHR finished loading: "http://localhost:8888/.....etc"
Loaded in AJAX [VM] quiz.js (23396):9
[Object, Object, Object, Object, Object]
「Loaded in AJAX」というテキストを「Loaded Outside of AJAX」の前に表示する方法と、変数「results」を AJAX 呼び出しの外で使用する方法を教えてください。