-4

我知道我可以在一定时间后使用 javascript 刷新页面;

<html>
<head>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
    setTimeout("location.reload(true);",timeoutPeriod);
}
//   -->
</script>
</head>
<body onload="JavaScript:timedRefresh(5000);">
</body>
</html>

一旦在数据库中添加/更新了新字段以实时显示数据而不是“F5”,是否可以重新加载页面

4

3 回答 3

0

在 UPDATE、INSERT 和 DELETE 上通过 MySQL 触发器调用通知

这适用于大多数数据库,并且可用于在发生更改时(例如当字段更新并且您需要立即通知客户时)将服务器发送的事件直接发送到浏览器。

使用Database Triggersand Server-Sent Event Notificationswhich 通过以下命令将事件触发器直接发送到浏览器-当 mysql针对数据库上的任何更改发生更改时调用推送器。这发生在实时的实时结果中。

于 2013-03-28T03:59:48.260 回答
0

您可以设置插入和更新触发器来发送会导致回调在应用程序中执行的事件。然后应用程序可以调用已注册的 JS 回调函数。您可以在此处查看说明https://stackoverflow.com/a/812803/1418005

于 2013-03-27T18:08:30.373 回答
-1

您不应该在一定时间后刷新页面,这对用户来说相当麻烦。您应该使用 setInterval 向服务器发送另一个请求以动态更新页面。

http://www.w3schools.com/jsref/met_win_setinterval.asp

setInterval(fn, 5000);

function fn() {
  alert('???');
}

编辑响应:您可以使用数据库触发事件来触发插入事件,然后通知客户端读取,或者您可以使用轮询机制 - 使用 (setTimeout/setInterval) 每 60 秒查询一次数据库。这可以使用 jQuery ajax 或任何其他 XHR 机制来完成。

例如:

$.ajax({
  type: 'GET',
  url: 'server.php/GetPageData' // or GetPageUpdate
  data: {},
  success: function(data) {

  }
});
于 2013-03-27T17:48:17.683 回答