如何自动刷新页面的一部分

rag*_*nny 10 javascript php

我有一个页面的一部分,其中包含实时数据,我想每隔几分钟刷新一次页面,但这是不正确的,因为页面的其他元素.

我该怎么做?我可以用什么语言来做这件事,什么是容易做什么,什么不做,什么做得好,什么做不好.也许一些明确的教程甚至代码示例.

我会活着用PHP之类的东西来做这个,但是不知道从哪里开始,从一些研究我看到Javascript和Ajax似乎是这个的标准,但我对这些语言的知识不是划伤.

感谢您的时间和帮助人们.

哦,如果有任何帮助,显示的数据来自数据库.

再次感谢.

dan*_*dan 17

您可以使用jQuery等Javascript库,并执行以下简化示例:

$("document").ready(function(){
  var interval = setInterval(refresh_box(), 60000);
  function refresh_box() {
    $("#myDiv").load('path/to/databasepage.php');
  }
} /*<= The closer ) bracket is missing in this line*/
Run Code Online (Sandbox Code Playgroud)

在您的path/to/databasepage.php页面中,您可以选择查询并回显结果.

这样做会设置一个超时来refresh_box()每隔60秒(这是60,000毫秒)调用一个函数(在这种情况下)并path/to/databasepage.php使用id 将数据加载到你的div中myDiv.

编辑:

如果要停止自动刷新,可以通过执行以下操作绑定元素以清除间隔:

// assuming you have a clickable element 
// (typically a button or so) id called 'stop_refresh'
$("#stop_refresh").click(function(){
  clearInterval(interval);
}
Run Code Online (Sandbox Code Playgroud)


Mic*_*ski 5

最简单的方法甚至不涉及PHP或JavaScript.您可以使用<iframe>纯HTML格式进行操作.iframe使用适当的刷新标头加载HTML或PHP页面并刷新自身.

主HTML页面:

<html>
<head></head>
<body>
   static content

    <iframe id='dynamic-content' src='refreshing.php' />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

refresh.php页面:

<html>
<head>
  <!-- refresh every 5 seconds -->
  <meta http-equiv="refresh" content="5">
</head>
<body>
  dynamic content
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

请注意,<meta http-equiv="refresh"> 不建议刷新整个页面,但在iframe中使用必须不断刷新本身是非常安全的.