我希望我的 JavaScript 检查是否有互联网连接。
当存在时,我想执行 ajax 调用,否则我希望 JavaScript 稍后再试一次(例如 10 分钟),因为可能会再次建立连接。
我已经尝试过 navigator.onLine
allready,但它不起作用。
我还尝试使用 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);
}
});
}
});
如果有人能帮助我就好了。
最佳答案
我认为你应该将超时属性添加到jQuery.ajax
。
Timeout 表示,如果在给定时间(以毫秒为单位)内没有收到响应,则会执行错误回调,因此您可以使用 setTimeout
在 10 分钟内再次请求
请参阅 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(){}
})
关于javascript - 无网络连接时10分钟后再次执行JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39467824/