[解決済み] jQuery AJAXリクエストをキャンセル/中止する方法は?
2022-04-01 04:35:21
質問
5秒ごとにAJAXリクエストを行います。しかし、問題はAJAXリクエストの前に、前のリクエストが完了していない場合、そのリクエストを中断し、新しいリクエストをしなければならないことです。
私のコードは以下のようなものですが、この問題を解決するにはどうしたらよいでしょうか?
$(document).ready(
var fn = function(){
$.ajax({
url: 'ajax/progress.ftl',
success: function(data) {
//do something
}
});
};
var interval = setInterval(fn, 500);
);
解決方法は?
jquery ajax メソッドが返すのは XMLHttpRequest オブジェクトを作成します。このオブジェクトを使用すると、リクエストをキャンセルすることができます。
XMLHttpRequestには アボート メソッドは、リクエストをキャンセルしますが、もしリクエストがすでにサーバーに送信されている場合は サーバーはそのリクエストを処理します。 リクエストを中止しても、クライアントはレスポンスを待ったり処理したりしません。
また、xhrオブジェクトには ReadyState これはリクエストの状態 (UNSENT-0, OPENED-1, HEADERS_RECEIVED-2, LOADING-3, DONE-4) を含んでいます。これを利用して、前のリクエストが完了したかどうかをチェックすることができます。
$(document).ready(
var xhr;
var fn = function(){
if(xhr && xhr.readyState != 4){
xhr.abort();
}
xhr = $.ajax({
url: 'ajax/progress.ftl',
success: function(data) {
//do something
}
});
};
var interval = setInterval(fn, 500);
);
関連
-
[解決済み] check_ajax_referer() は実際どのように動作するのでしょうか?
-
(フロントエンド)警告。メインスレッドでの XMLHttpRequest の同期は非推奨です。
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み] jQuery Ajax呼び出し後のリダイレクトリクエストを管理する方法
-
[解決済み] どうすればjQueryに非同期ではなく、同期のAjaxリクエストを実行させることができますか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み】WebSocketが使えるのに、なぜAJAXを使うのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ajaxの応答を待つためにseleniumを取得する方法?
-
[解決済み] RichFacesのa4j:ajaxタグのevent属性の取りうる値のリスト
-
onclickイベントの値を渡して、ajaxリクエストの実行に移る
-
[解決済み] jQueryを使ったAjaxリクエストの中断
-
[解決済み] 一般的なブラウザでは、AJAX(XmlHttpRequest)の同時リクエストはいくつまで可能ですか?
-
[解決済み] FirefoxでjQuery $.ajax(), $.post がREQUEST_METHODとして "OPTIONS "を送信する問題
-
[解決済み】Chromeでのリクエストモニタリング
-
[解決済み】jQuery: 同期AJAXリクエストの実行
-
[解決済み] POST JSONが415 Unsupported media typeで失敗する、Spring 3 mvc
-
[解決済み] Google インスタントはどのように機能するのですか?