jQueryで$.ajax
を実行する際に、実行中の非同期処理をストップして再度同じ処理を実行させる方法を紹介する。
ボタンクリックで$.ajax
の処理を実行する例で見ていこう。
1 2 3 4 5 6 7 8 | var req; $( '.btn' ).on( 'click' , function (){ if (req) req.abort(); req = $.ajax({ // Code... }); }); |
$.ajax
はjqXHRオブジェクトを返す関数なので、返り値を変数にセットするようにする。
次回のボタンクリック時、変数にjzXHRオブジェクトが存在すればabort()
メソッドで処理を中断させ、再び$.ajax
を実行させれば良い。