当我的页面第一次打开时,会调用一个包含此代码的函数,它按预期工作。在后台,displaydata.txt
每 500 毫秒更新一次(使用 PHP 打开fopen(..., "w")
并完全重写)。当再次调用包含此代码的函数时(从setInterval(...)
),页面不会使用新数据更新,displaydata.txt
而是使用页面首次加载时的旧数据。
数据文件正在成功更新。刷新页面时,会显示新数据。
var interval2=setInterval(function(){readData()},500); //Updates table data every half second
function readData() {
//Read data from a text file into a php array
<?php
$fileName = "/var/www/displaydata.txt";
$phpArray = file_get_contents($fileName); //Read entire file into string
$phpArray = explode("```",$phpArray); //Break up the array into pieces divided by "```"
$tempArray = json_encode($phpArray); //Prepare the php array to be converted to javascript
echo "var jsArray = " . $tempArray . ";\n"; //Convert to javascript array
?>
//Fill table based on text file.
for (var i = 0; i < (jsArray.length - 1); i+=2)
{
document.getElementById( jsArray[i] ).value = jsArray[(i + 1)];
}
}