1

我正在使用 JQuery ajax 方法通过 rest api 调用服务。我在服务调用中添加了 5 秒的超时值。

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

这是我的函数调用。当我的服务关闭时,我正在测试这个,我认为它实际上在 5 秒后没有超时。因为它花了一段时间,然后当服务启动时,它实际上返回了响应。

所以,我试图了解 jquery 是如何实际实现这个超时的。

4

1 回答 1

0

如果您遇到这样的情况,请在您的error回调函数中尝试调试-timeout

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

发生超时时,错误事件处理程序采用三个参数(xmlhttprequest、textstatus 和消息),状态参数将为“超时”

一个工作超时演示:

小提琴

于 2013-04-08T23:35:31.280 回答