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( "検索を中断しました" ); }); |
関連記事
コメントを残す