当我的页面第一次打开时,会调用包含此代码的函数,它的工作方式与预期的一样。在后台,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)];
}
}