I am using jQuery getJSON()
function. This function getting data with no problem. But sometimes waiting, waiting waiting... And my loading bar showing loading loading loadin at center of page. So jQuery ajax()
function have an timeout variable. But i want to use getJSON
function. And i think that i can use ajaxStart()
and ajaxStop()
functions. But how?
$('.loadingDiv') .hide() .ajaxStart(function() { $(this).fadeIn(); setTimeout("throw '';",15000) //i used this but didn't work setTimeout("return;",15000) //i used this but didn't work setTimeout("abort();",15000) //i used this but didn't work.(Abort all ajax events) }) .ajaxStop(function() { $(this).fadeOut(); });
getJSON()
returns a promise on which you can call the abort
function :
var p = $.getJSON(..., function(){ alert('success');}); setTimeout(function(){ p.abort(); }, 2000);
EDIT : but if your goal is just to abort if it takes too much time, then lethal-guitar's answer is better.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With