如何使用 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