如何使用 AJAX 自动刷新 div 或网页

Posted

技术标签:

【中文标题】如何使用 AJAX 自动刷新 div 或网页【英文标题】:How to use AJAX for auto refresh a div or a web page 【发布时间】:2015-01-21 07:19:09 【问题描述】:

我已经尝试了很多时间,但我做不到。这是我的问题: 我有一个这样的网页:

<html>
<body>
<div id="my_div">
<span id="txt">HELLO WORLD</span>
</div>
</body>
</html>

现在我希望 div“my_div”每 X 秒刷新一次,同时刷新其内容。如何使用 AJAX 或 JQUERY 或 javascript 做到这一点?

注意:我不需要刷新整个页面的脚本。 注意(2):我刚刚尝试用谷歌找东西,但什么也没找到。

请帮帮我。这个问题困扰我好久了。

提前谢谢你!

【问题讨论】:

@charlietfl 在什么意义上?我需要一个每 X 秒刷新一次 div 的 ajax 代码。 【参考方案1】:

使用 jQuery,您可以使用以下方法动态更新元素的内容:

$("#my_div").html("... new content ...");

新内容替换原来的内容。

使用 setInterval() 方法,可以让 JavaScript 每隔一段时间执行一次:

例如:

window.setInterval(function() 
   $("#my_div").html("... new content ...");
, 1000);

会每秒替换一次内容。

【讨论】:

你编写了 function($("#my_div").html("Hello")) 而不是: function() $("#my_div").html("Hello") 【参考方案2】:

使用 jQuery load() 和间隔计时器是最简单的。

setInterval(function()
   $('#my_div').load('/path/to/server/source');
, 2000) /* time in milliseconds (ie 2 seconds)*/

load()$.ajax的简写方法

这假设您将设置一个仅输出该元素内容的服务器端脚本。 您还可以在load url 中使用选择器片段来解析特定内容的完整页面

load() API Docs

【讨论】:

是的!这就是我一直在寻找的!谢谢!还有一件事:如果我想刷新整个页面怎么办? 如果要在计时器上重新加载整个页面,可以使用 @IanB 不是用于使用 ajax 刷新页面内的内容 @charlietfl - 它正在回复 Michele 关于如何刷新整个页面的评论 - 但不可否认,它没有使用 Ajax。【参考方案3】:

你可以写一些类似的东西

var doSth = function () 

  var $md = $("#my_div");
  // Do something here
;
setInterval(doSth, 1000);//1000 is miliseconds

【讨论】:

以上是关于如何使用 AJAX 自动刷新 div 或网页的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 模板中使用 Jquery/Ajax 正确刷新 div

新网页内容使用了旧的数据库,刷新就变空白,请问如何使数据库自动更新到新网页内容的数据信息

点击一个按钮如何实现div的局部刷新

点击一个按钮如何实现div的局部刷新

jquery如何定时 局部刷新一个div??

如何在给定的时间间隔内自动刷新网页所有控件