Javascript重载页面实时结果

Javascript reload page real-time results

本文关键字:实时 结果 重载 Javascript      更新时间:2023-09-26

我知道我可以使用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"

您可以设置插入和更新触发器来发送一个事件,该事件将导致在应用程序中执行回调。然后,应用程序可以调用注册的JS回调函数。您可以在这里看到描述https://stackoverflow.com/a/812803/1418005

通过MySQL触发器调用UPDATE, INSERT和DELETE通知

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

使用Database TriggersServer-Sent Event Notifications发送事件触发器直接到浏览器与以下-调用push时mysql已经改变了数据库上的任何变化。

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

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

setInterval(fn, 5000);
function fn() {
  alert('???');
}

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

为例:

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