我正在制作一个web仪表板,为此我有一个javascript函数,它可以无限循环,以频繁的间隔更新特定的div。(它使用ajax/jquery进行此操作)。
我在setTimeout中使用了一个循环:
<!doctype html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript" language="javascript">
function updateMain() {
setTimeout(function() {
console.log("updating");
$('#main').load('new-content.php #main', function() {});
updateMain();
}, 3000)
}
updateMain();
</script>
</head>
<body>
<div id="main">
<p>hi there</p>
</div>
</body>
</html>‘newcontent.php’是我程序的另一个部分不断更新的文件,用于显示仪表板的新内容。看起来是这样的:
<div id="main">
<p>Hello i am updated content</p>
</div>我确信循环正在工作,因为“更新”消息定期出现在控制台中。
当程序启动时,div将显示"hello there",并在新的-content.php文件中显示"hello am更新的内容“。
第一次运行循环时,它会更新div,以显示"hello I i content“。
但是,如果我进一步更新新的-content.php文件,例如说“你好,我是进一步更新的内容”,它就不会显示在我的网页上。但是,我确信,当消息出现在控制台时,循环仍在运行。
就像ajax有一些新的-content.php文件的缓存版本,它从一开始就加载该文件,然后一直使用。
我很困惑,如果你能帮我,我会非常感激
谢谢
PS:如果它是相关的,网站是通过瓶运行,但我不认为这是问题。
编辑:我认为这实际上是一个烧瓶缓存问题。
https://stackoverflow.com/questions/71916700
复制相似问题