2013-04-08 90 views
1

我正在使用JQuery ajax方法使用rest api调用服务。我为服务呼叫添加了5秒的超时值。JQuery Ajax设置:超时

$.ajax({ 
    timeout:5000, 
    type:"POST", 
    url:"serviceurl", 
    data: fooandstuff, 
    error:function(){}, 
    success:function(data){ console.log(data); } 
    }); 

这是我的函数调用。当我的服务停止运行时,我正在测试这个功能,并且我认为它在5秒后实际上没有超时。因为它花了一段时间,然后当服务结束时,它实际上返回了响应。

所以,我想了解jQuery实际上如何实现这个超时。

回答

0

在你error回调函数尝试,如果你正在timeout喜欢这个 -

error: function(x, t, m) { 
     if(t==="timeout") { 
      alert("got timeout"); 
     } else { 
      alert(t); 
     } 
    } 

错误事件处理程序需要三个参数(XMLHttpRequest参数url和消息)调试时发生超时,状态ARG将 '超时'

的工作超时演示:

Fiddle