jQuery ajax调用默认的超时值

我得到了一个我不能复制的bug报告,但是ajax-call timeout是当前最好的猜测。

所以我试图找出一个jQuery $.ajax()调用超时的默认值。 任何人有一个想法? 在jQuery文档中找不到它。

在此先感谢,马库斯

似乎没有一个标准化的默认值。 我有这种感觉,默认为0 ,超时事件完全依赖于浏览器和networking设置。

对于IE,XMLHTTPRequests 在这里有一个超时属性。 它默认为null,它说networking堆栈可能是第一个超时(这将不会产生ontimeout事件)。

另外,当试图诊断类似的错误时,我意识到,如果由于超时而失败,jquery的ajax错误callback将返回“超时”状态。

这是一个例子:

 $.ajax({ url: "/ajax_json_echo/", timeout: 500, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus); // this will be "timeout" } }); 

这是在jsfiddle上 。

没有超时,默认情况下。

XMLHttpRequest.timeout属性表示请求在自动终止之前可以执行的毫秒数。 默认值是0 ,这意味着没有超时。 一个重要的注意事项是,超时不应该用于在文档环境中使用的同步XMLHttpRequests请求,否则会引发InvalidAccessErrorexception。 拥有窗口的同步请求不得超时。

IE10和11不支持同步请求,支持也在其他浏览器中被淘汰。 这是由于它们造成的不利影响 。

更多信息可以在这里find。