gpt4 book ai didi

php - 当有新的数据库条目时,DIV 停止刷新

转载 作者:行者123 更新时间:2023-11-29 18:07:15 24 4
gpt4 key购买 nike

(更新)所以问题不在于数据库条目或自动刷新(某种程度)。我已将问题范围缩小到 index.php 中的一个函数,该函数确定要显示的条目的颜色。当自动刷新重新加载包含的 PHP 页面时,此函数似乎未定义。

所以这是一个非常烦人的问题,它破坏了我基于网络的应用程序的整个目的。我尝试对其进行故障排除,但无法弄清楚为什么它拒绝工作。我唯一的猜测是,当刷新发生时,PHP/MySQL 调用也不会重新运行,但这不可能是真的,因为当我触发下面列出的事件 #3 时,它会消失得很好。只是当条目存在时它不会更新。

即使创建/删除了新条目,Div ID“unitsAvail”也能正常工作。

1) 当不存在任何条目时,刷新效果非常好。2) 创建新的数据库条目时停止刷新。2b) 刷新页面并不能解决自动刷新问题。3) 当该条目被删除时,无论页面是否重新加载,都会再次开始刷新。

注意:刷新的 php 页面由 HTML 表和调用 MySQL 查询的 PHP 代码组成。它们不包含任何 div 或任何其他冲突的内容。

Note-2:我向每个 div 添加了时间戳回显,当创建新的数据库条目时,Active/pending 确实会停止自动刷新。可用单位继续完美刷新,并且时间戳更新。

(我认为最好将这些 PHP 页面放入此页面中,然后刷新 div 内容。如果这是更好的方法,我将如何更改自动刷新来做到这一点?我应该更改什么.load() 到?)

    <script src="java/jquery.js"></script>
<script type="text/javascript">

$(document).ready(function() {
refreshActive();
});

function refreshActive() {
$('#incActive').load('active.php', function() {
setTimeout(refreshActive, 5000);
});
$('#incPending').load('pending.php', function() {
setTimeout(refreshPending, 5000);
});
$('#unitsAvail').load('units.php', function() {
setTimeout(refreshUnits, 5000);
});
}

</script>
<body>
<div id="fixed">

<? include ("topmenu.php"); ?>

<div id="backpanel">

<div id="incActive">
<?
include "active.php";
?>
</div>

<div id="incPending">
<?
include "pending.php";
?>
</div>

<div id="unitsAvail">
<?
include "units.php";
?>
</div>

</div>

</div>

</body>

最佳答案

这可能是由于 load 方法抛出异常造成的。您应该添加一些错误处理来帮助调试问题。

尝试使用它来捕获任何错误:

$('#incActive').load('active.php', function( response, status, xhr ) {
if ( status == "error" ) {
var msg = "Sorry but there was an error: ";
$( "#error" ).html( msg + xhr.status + " " + xhr.statusText );
}
else{
setTimeout(refreshActive, 5000);
}
);

关于php - 当有新的数据库条目时,DIV 停止刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47730999/

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