gpt4 book ai didi

php - 如何仅在有网络连接时更新屏幕/网站?

转载 作者:行者123 更新时间:2023-11-28 21:15:39 24 4
gpt4 key购买 nike

我正在尝试为楼层信息设置一个显示屏,这是一个简单的网页。 ajax 调用用于根据客户端用于更新信息的管理页面每 10 秒更新一次屏幕。

我的问题是当没有互联网连接时,显示屏仍然会更新并且不显示任何内容。有什么办法可以改变下面的代码来说明如果有互联网连接则更新数据库,如果没有网络连接则重置计时器而不执行任何操作。

    <script type="text/javascript">

// Run the AJAX call to grab the data once
$.ajax({
type: "POST",
url: "ajax/getMessages.php?section=1",
data: "",
complete: function(data){
//print result in targetDiv
$('#content_1').html(data.responseText);
}
});

// Then run the same script on a 10-second timer
setInterval(function(){

$.ajax({
type: "POST",
url: "ajax/getMessages.php?section=1",
data: "",
complete: function(data){
//print result in targetDiv
$('#content_1').html(data.responseText);
}
});

},10000);

</script>

最佳答案

可能还有其他方法可以做到这一点,但这会起作用:检查 data.responseText 中是否有任何内容:

if(data.responseText.length)
{
// Display page
}

在您的 complete: 函数中,如下所示:

complete: function(data){ 
if(data.responseText)
{
$('#content_1').html(data.responseText);
}
}
<小时/>

更好的方法是使用 success: 而不是 complete:,因为前者仅在 AJAX 请求成功完成时才会触发,这意味着您不需要不必检查data.length

// Run the AJAX call to grab the data once
$.ajax({
type: "POST",
url: "ajax/getMessages.php?section=1",
data: "",
success: function(data) {
// Print result in targetDiv
$('#content_1').html(data.responseText);
},
error: function() {
// Error handling code
}
});

// Then run the same script on a 10-second timer
setInterval(function() {
$.ajax({
type: "POST",
url: "ajax/getMessages.php?section=1",
data: "",
success: function(data) {
// Print result in targetDiv
$('#content_1').html(data.responseText);
},
error: function() {
// Error handling code
}
});
}, 10000);

关于php - 如何仅在有网络连接时更新屏幕/网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7706103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com