JQuery: how to enable `timeout` for` $ .ajax ({dataType: 'jsonp' ... `? Is there any solution?

jQuery: how to enable timeout for $.ajax({dataType:'jsonp'... ? Is there a solution? http://jsfiddle.net/laukstein/2wcpU/4

 $.ajax({ type:"GET", url:'http://lab.laukstein.com/ajax-seo/.json', dataType:'jsonp', timeout:200, // Not working with dataType:'jsonp' success:function(data){$('#content').html(data.content);}, error:function(request,status,error){$('#content').html('request failed');} }); 

I do not like to use some plugins for this, for example http://code.google.com/p/jquery-jsonp .

+6
jquery jsonp ajax timeout
source share
2 answers

Here is my solution with setTimeout and clearTimeout http://jsfiddle.net/laukstein/2wcpU/7/

 $('#content').ajaxStart(function(){ $(this).html('Loading...'); }); var timer=window.setTimeout(function(){ $('#content').html('Loading seems to be taking a while. Try again.'); },2000); $.ajax({ type:"GET", url:'http://lab.laukstein.com/ajax-seo/.json', dataType:'jsonp', success:function(data){ window.clearTimeout(timer); $('#content').html(data.content); }, error:function(){ window.clearTimeout(timer); $('#content').html('The request failed. Try to refresh page.'); } }); 
+4
source share

Binyamin

this answer should help you:

jQuery ajax (jsonp) ignores timeout and does not fire an error event

basically suggests using jquery.jsonp instead of $ ajax

0
source share

All Articles