【发布时间】:2015-07-20 12:09:47
【问题描述】:
我正在尝试使用 AJAX 刷新 iFrame,因此我页面上的 iFrame 不会闪烁。下面的代码有效,但它是一个主要的内存猪,它会在大约 2 分钟后崩溃页面。我试图让它工作,所以它不会崩溃页面。
我正在使用其中有一个表格的 iFrame,我希望它每 2 秒获取一次内容,以便对其进行更新。下面的 AJAX 代码位于名为 table.php 的页面中。我在名为 dispatch1.php 的主页上的 iFrame 中有这个页面(table.php)。表 id 是“thistable”。
<script>
function checkRequest(){
var interval = setInterval(function(){
var request = $.ajax({
url: "table.php",
type: "post",
datatype: "html"
});
request.done(function(msg){
$("#thistable").html(msg);
});
},2000)
}
</script>
【问题讨论】:
-
不清楚这段代码是 iframe 还是父窗口的一部分。顺便说一句,您需要在问题中提供更多上下文,例如,您如何调用
checkRequest()方法?顺便说一句,如果您的请求需要超过 2 秒才能完成,您将面临一些问题,也许是目前正在发生的事情。通常,要刷新 iframe,您只需更新 src 属性(可能使用时间戳来避免任何缓存问题),但我想这就是您不这样做的原因:I am trying to refresh an iFrame with AJAX so the iFrame on my page doesn't blink -
是
checkRequest被一次又一次地调用...听起来像。如果它被称为 eevry 2 秒,则您通过添加新的间隔计时器来复合每次发出的请求数 -
如何将
setInterval更改为setTimeout并在AJAX 的成功回调中调用与setTimeout关联的函数?这并不能确保延迟,但甚至不会导致浏览器崩溃
标签: javascript jquery html ajax iframe