0

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

}
4

1 回答 1

0

您需要使用 AJAX 从服务器获取数据。如果您使用的是 JQuery javascript 库,请检查JQuery ajax

于 2013-07-14T15:58:56.493 回答