我希望我的JavaScript检查是否有互联网连接。
当有,我想执行一个ajax调用,否则我希望JavaScript稍后再尝试(比如10分钟),因为可能再次有连接。
我已经尝试了navigator.onLine
,但它没有用。
我也试图用ajax调用中的error: function(){}
部分来处理它,但这两者都没有用。
这是我最后一次尝试的JavaScript(错误:function(){})
$(document).ready(function() {
window.setTimeout(function(){ document.location.reload(true); }, 6000);
loadPrices();
function loadPrices() {
$.ajax({
url : 'php/loadPrices.php',
type : 'POST',
dataType : 'json',
beforeSend: function(){
$('#loadingSpin').show();
},
complete: function(){
$('#loadingSpin').hide();
},
success : function(back_data) {
$(".k18").html(back_data.k18 +" Euro");
$(".k14").html(back_data.k14 + " Euro");
$(".bruch").html(back_data.bruch + " Euro");
$(".timestamp").html(back_data.timestamp+" Uhr");
},
error: function(){
window.setTimeout(function(){ document.location.reload(true); }, 6000);
}
});
}
});

如果有人可以帮助我会很好。
答案 0 :(得分:0)
我认为您应该将超时属性添加到jQuery.ajax
。
超时意味着,如果您未在给定时间内(以毫秒为单位)获得响应,则会执行错误回调,因此您可以使用setTimeout
请参阅jQuery文档:http://api.jquery.com/jquery.ajax/
$.ajax({
type: 'GET',
url: 'foobar.php',
timeout: 15000, // 15 secs timeout
error: function(XMLHttpRequest, textStatus, errorThrown) {},
success : function(){}
})