我的PHP页面上有一个值,我想用每秒刷新一次setInterval()
。
因此,我实际上知道如何使用html等刷新值。但是现在,我想对php值执行相同的操作。这是我的代码:
<script>
setInterval(function()
{
<?php
$urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html';
// get content
$contentMachineOnline = file_get_contents($urlMachineOnline);
//remove first 2 characters
$truncateMachineOnline = substr($contentMachineOnline, 2);
//remove last 5 characters
$MachineActivityMS = substr($truncateMachineOnline, 0, -5);
//Set the value to seconds
$MachineActivityS = floor($MachineActivityMS /1000);
$formatMachineActive = 'H:i:s';
$TimeMachineActive = gmdate($formatMachineActive, $MachineActivityS);
?>
},1000);
</script>
因为JS和php arent真的很棒,所以Ofc不能正常工作。在我的桌子上,我只是简单地有:
<table>
<tr>
<td>Activity:</td>
<td><p id='MachineActivity'></p><?php echo $TimeMachineActive; ?></td>
</tr>
</table>
所以现在的问题是,当我按f5键时才刷新。但是现在我要自动刷新。我知道setInterval()
为html工作。是否有可能为php代码完成此操作?
这应该为您工作:
JS代码:
<script>
setInterval(function()
{
$.ajax({
url: 'value-generation.php',
type: 'get',
success: function(response){
$("#MachineActivity").html(response)
},
});
},1000);
</script>
value-generation.php代码:
<?php
$urlMachineOnline = 'http://192.168.0.150/awp/Shredder/PLCfiles/MachineOnline.html';
// get content
$contentMachineOnline = file_get_contents($urlMachineOnline);
//remove first 2 characters
$truncateMachineOnline = substr($contentMachineOnline, 2);
//remove last 5 characters
$MachineActivityMS = substr($truncateMachineOnline, 0, -5);
//Set the value to seconds
$MachineActivityS = floor($MachineActivityMS /1000);
$formatMachineActive = 'H:i:s';
$TimeMachineActive = gmdate($formatMachineActive, $MachineActivityS);
echo $TimeMachineActive;
?>
没用 但是当我检查它时没有显示任何错误。
请确保您在HTML文档中包含jquery库。另外,value-generation.php必须放置在与运行脚本标记所在的目录相同的目录中
我已经包括2.1.3 jQuery。文件运行脚本标记是什么意思?这两个文件都在同一目录映射中(如果这是您的意思)。
替换
$("#MachineActivity").next().html(response)
为$('#MachineActivity').html(response)
它,就像我想要的那样。只是计算每秒的值:)如果您用我上面所说的改变答案。我会给你正确的答案。