Web アプリで他の AJAX 呼び出しを送信する前に、条件を確認して AJAX 呼び出しを実行する必要があります。
この AJAX 呼び出しをajaxSetupのbeforeSendに async: false で配置することを考えていました (これが完了する前に最初の呼び出しが実行されないようにするため)。
このようなもの:
//I set an event that fires:
$.ajax({
type: "GET",
url: my_url,
beforeSend: function() {
//do something, like show a spinner loader gif
}
});
//Somehwere in my app I also have:
$.ajaxSetup({
beforeSend: function() {
if(x===1){
$.ajax({
type: "GET",
url: my_url/fetch_something,
async:false
});
}
}
});
最初の AJAX 呼び出しでの beforeSend は、ajaxSetup のものをオーバーランしますか? これにアプローチする方法はありますか?
私のアプリのより良いアイデア:
私はアプリを介して多くの Ajax 呼び出しを行っています。各呼び出しはヘッダーにセキュリティ ハッシュを送信してユーザーを検証します。これらのハッシュにも時間制限があります (ハッシュと時間制限の両方が localStorage に保存されます)。
私が ajax セットアップ (およびその中の条件) に求めているのは、時間制限を確認することです。time_limit < current_time の場合は、ajax 呼び出しを実行してユーザーのハッシュを更新します。
これは 1 回または 2 回の呼び出しの演習ではありません。ユーザー ハッシュを使用するアプリで文字通り 20 回以上の増加する Ajax 呼び出しがあり、すべての呼び出しでこのチェックを行うのは非常に非現実的です。