user1310420
user1310420

Reputation:

Jquery stop function

I have a jquery function like this:

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

I want to stop this function when i click on a certain element in a webpage, how would i do this.

Thanks

Upvotes: 0

Views: 333

Answers (2)

Lix
Lix

Reputation: 47956

In a situation where you may not be able to globaly define all of your .ajax() call variables (as shown by another answer by @uzyn), this might be a suitable solution.

You could simply wrap your success callback with a flag indicating whether you want to cancel the result.

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;
});

Upvotes: 0

uzyn
uzyn

Reputation: 6683

Set a variable for your AJAX request.

var getajax;

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

     ......
    });
}

When you want to abort it, simply

getajax.abort();

Upvotes: 3

Related Questions