jQuery ajax调用默认超时值


70

我收到了一个我无法复制的错误报告,但是ajax调用超时是当前的最佳猜测。

因此,我试图找出jQuery$.ajax()调用超时的默认值。有人有主意吗?在jQuery文档中找不到。

预先感谢,马库斯


1
嗯,我认为这是特定于浏览器的。
Pekka



Answers:


48

似乎没有标准化的默认值。我感觉默认值为0,而超时事件完全取决于浏览器和网络设置。

对于IE,还有对XmlHttpRequests超时属性在这里。它默认为null,表示网络堆栈可能是第一个超时的(顺便说一句,它不会生成ontimeout事件)。


因此,基本上jQuery不使用任何默认值。该问题是在Safari上报告的。我想我将尝试强制设置一些较长的超时值,并希望获得最好的...谢谢!
Marcus 2010年

1
@Marcus:它真的有效吗?我找不到超时是否总是覆盖浏览器的超时值(即使您的Ajax超时值大于浏览器的超时值)
Adrien 2014年

@AdrienBe在IIRC时,我无法从用户错误报告中复制该问题,但目前最好的方法是超时问题。所以我真的没有答案。
Marcus 2014年


5

默认情况下,没有超时。


2
您能否分享一些支持您的主张的消息来源。
黑豹

我刚刚测试过,可以确认这一点。
Diego Jancic 2015年

9
如何测试是否没有超时?默认情况下,它可能真的很长
Kaktus

0

XMLHttpRequest.timeout属性表示请求在自动终止之前可以花费的毫秒数。默认值为0,表示没有超时。一个重要的注意事项是,不应将超时用于同步XMLHttpRequests请求,将其用于文档环境中,否则它将引发InvalidAccessError异常。您不能将超时用于拥有窗口的同步请求。

IE10和11不支持同步请求,其他浏览器也逐渐取消了对同步请求的支持。这是由于制造它们而产生的有害影响

更多信息可以在这里找到。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.