【jQuery】Ajaxの通信を中断させる方法。

めも。

例えば下記のように、Ajaxのスタートボタンとストップボタンを用意したとして。

<input type="button" value="Start" class="js_start">
<input type="button" value="Stop" class="js_stop">

下記のように$.ajax()の結果を変数に格納しておくことで、.abort()による通信の中断が行えるようになる。

<script>
$(function(){
	var ajax;
	$('.js_start').click(function(){
		var url = '/api/url';
		ajax = $.ajax({
			url: url,
			type: 'POST'
		}).done(function(){
			alert('success');
		}).fail(function(){
			alert('error');
		});
	});
	$('.js_stop').click(function(){
		ajax.abort();
	})
});
</script>

これは便利。