我的php页面底部有以下脚本,它在pageload上运行,但我需要它每10秒运行一次。它仅在页面加载时运行。
PHP正在运行。 我已经用十次倒计时测试了这个,并且脚本实际上是循环的,但出于某种原因,当我整合这个PHP时。
请帮忙。
<script>
var CurrentBranch = "<?php echo file_get_contents('gitstatus.txt'); ?>";
var x = setInterval(function () {
CurrentBranch = "<?php echo file_get_contents('gitstatus.txt'); ?>";
document.getElementById("CurrentTestBranch").innerHTML = CurrentBranch;
CurrentBranch = "";
}, 10000);
</script>
编辑: 代码会在第一次显示文件内容。但是当我进行更改并保存时不会刷新。
答案 0 :(得分:2)
Your PHP code is run only when the page loads。它在运行时生成字符串文字。重复调用interval函数时,这些不会更新(因为PHP不会再次运行)。
如果您想从PHP获取新数据,则需要发出新的HTTP请求。
您可以重新加载整个页面,也可以使用XMLHttpRequest(或fetch)来调用Web服务,为您提供所需的数据(Ajax是一个有用的搜索词)。
答案 1 :(得分:-1)
PHP发生在HTML命中服务器之前。
查找setTimeout()javascript命令。你需要做的是让javascript调用另一个php脚本,它检查并回显你的价值。
像这样的东西(可能是来自内存的伪代码):
setTimeout(function(){
var CurrentBranch = $.get('/url/that/sends/value');
// do something with your value, call a function, whatever
}, 10000);