これが重複している場合は申し訳ありませんが、以前の投稿で満足のいく答えが見つかりませんでした.
$(function() {
$.ajax({
url: 'ajax/test.html',
success: function(data) {
// Data received here
}
});
});
[また]
someFunction() {
return $.ajax({
// Call and receive data
});
}
var myVariable;
someFunction().done(function(data) {
myVariable = data;
// Do stuff with myVariable
});
上記のコードは問題なく動作します。ただし、この ajax リクエストはページの読み込み時に行われるため、後でこのデータを処理したいと考えています。コールバック内に処理ロジックを含めることができることはわかっていますが、そうしたくありません。呼び出しの非同期性のため、グローバル変数への応答の割り当ても機能しません。
上記の両方の方法で、「データ」は成功コールバックまたは完了コールバックのいずれかに限定されており、可能であればこれらの外でアクセスしたいと考えています。これは以前は jQuery の「async:false」フラグで可能でしたが、jQuery 1.8 では廃止されました。
任意の提案をいただければ幸いです。ありがとうございました。