0

次のようなjquery関数があります。

function get()
 {
$.ajax({
     url: 'get.php',
     success: function(data) {
     $('#get').html(data);
     $('#get').fadeIn(2000);
     setTimeout(posts,2000);
    }
    });
 }
 get();

Web ページの特定の要素をクリックしたときにこの機能を停止したいのですが、どうすればよいですか。

ありがとう

4

2 に答える 2

3

AJAX リクエストの変数を設定します。

var getajax;

function get() {
    getajax = $.ajax({

     ......
    });
}

中止したいときは、簡単に

getajax.abort();
于 2012-07-28T11:59:43.647 に答える
0

.ajax()すべての呼び出し変数をグローバルに定義できない可能性がある状況では( @uzynによる別の回答で示されているように)、これが適切な解決策になる可能性があります。

success結果をキャンセルするかどうかを示すフラグでコールバックをラップするだけです。

var ajax_canceled = false;

function get(){
  $.ajax({
    url: 'get.php',
    success: function(data) {
      if (!ajax_canceled){
          //...
      }
    }
  });
}
get();

$("#cancel_ajax").on('click',function(){
  ajax_canceled = true;
});
于 2012-07-28T12:00:11.657 に答える