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
请求,否则会引发InvalidAccessError
exception。 拥有窗口的同步请求不得超时。
IE10和11不支持同步请求,支持也在其他浏览器中被淘汰。 这是由于它们造成的不利影响 。
更多信息可以在这里find。