【发布时间】:2017-12-10 01:41:59
【问题描述】:
(更新) 所以问题不在于数据库条目或自动刷新(有点)。 我已将问题缩小到 index.php 中的一个函数,该函数确定要显示的条目的颜色。当自动刷新重新加载包含的 PHP 页面时,此函数似乎未定义。
所以这是一个非常烦人的问题,它破坏了我基于 Web 的应用程序的全部目的。我试图对其进行故障排除,但无法弄清楚它为什么拒绝工作。我唯一的猜测是,当刷新发生时 PHP/MySQL 调用也不会重新运行,但这不可能是真的,因为当我触发下面列出的事件 #3 时,它就会消失得很好。它只是在条目存在时不会更新。
Div ID "unitsAvail" 工作正常,即使在创建/删除新条目时也是如此。
1) 当不存在条目时刷新非常好。 2) 创建新的数据库条目时停止刷新。 2b) 刷新页面不会修复自动刷新。 3) 删除该条目时再次开始刷新,无论页面是否重新加载。
注意:刷新的 php 页面由 HTML 表和调用 MySQL 查询的 PHP 代码组成。它们不包含任何 div 或任何其他冲突的东西。
注 2:我为每个 div 添加了时间戳回显,当创建新的数据库条目时,活动/待定确实停止了它们的自动刷新。可用单元继续完美刷新,并且时间戳更新。
(我认为将这些 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>
【问题讨论】: