[英]getJSON's fail event not being called when internet drops
我在两台计算机上运行一个24/7的网页。 一台计算机正在运行IE8
,另一台计算机正在运行IE9
。 此网页上是一个JavaScript计时器,该计时器运行$.getJSON
来检索cross-domain
JSON对象。 $.getJSON
在正常条件下可以正常运行,但是其中一台计算机上的Internet连接可能会暂时断开。 由于我使用$.getJSON
来检索网页的新内容,因此如果互联网暂时中断,则会显示旧内容。
我的问题是,我假定$.getJSON
的fail
事件将在$.getJSON
调用时互联网$.getJSON
时$.getJSON
。 在这种情况下,将设置一个新计时器以尝试在X分钟内检索JSON
(它将永不停止尝试)。 测试此功能时,我禁用了Internet连接,但是fail
事件中的代码未触发。
如果没有互联网连接,是否会fail
? 如果是这样,您将如何建议防止Internet断开时我的JavaScript永久停止?
(我看过的一种方法是在JSON调用之前检查互联网连接,但是我已经读到window.navigator.onLine
不可靠,而且找不到其他解决方案)
getJSON
只是ajax
简写,已经设置了一些值。 而且ajax
具有timeout
选项。 这可能是最可靠的选择(但显然不会立即响应网络故障)。 我个人会将其与可以确定网络状态的所有检查结合起来。
$.ajax({
dataType: "json",
url: url,
data: data,
success: success,
timeout: 10000 // 10 seconds
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.