[jQuery]一度発行したajaxリクエストを途中で中断する方法

jQueryでサーバからデータを取得する際、ajaxで問合せを行うと非同期処理となる為、ユーザビリティが向上します。
ですが、データの問い合わせによっては、サーバ側で非常に時間が掛かる場合もあります。
この際に一旦行った問い合わせをキャンセルする場合は、どうしたらよいでしょうか?


一旦行ったリクエストをキャンセルする場合は、$.ajax()で取得したオブジェクトに対して、abort()をコールするとリクエストのキャンセルが可能です。


サンプル:

var req;
 
// 検索を行う
$( "btnSearch" ).click( function() {
	req = $.ajax({
	    type: "GET",
	    url:  "/test/getData.php",
	    data: "id=1",
	    success: function( name){
			       alert( "検索が完了しました:" + name );
			    }
	});
});
 
// 検索を中断する
$( "btnStop" ).click( function() {
	//リクエストの中断
	req.abort();
	alert( "検索を中断しました" );
});


関連記事

コメントを残す

メールアドレスが公開されることはありません。