(UPDATE) 所以问题不是数据库条目或自动刷新(排序)。 我已经将问题缩小到我的index.php中的函数,该函数确定要显示的条目的颜色。当自动刷新重新加载包含的PHP页面时,此函数似乎未定义。
所以这是一个非常烦人的问题,打破了我基于网络的应用程序的整个目的。我试图解决它,无法弄清楚为什么它拒绝工作。我唯一的猜测是,当刷新发生时,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>
答案 0 :(得分:0)
这可能是由于抛出异常的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);
}
);