ディレクトリ(以下)で最新のjsonファイルを監視するphpスクリプトがあります。次に、JavaScriptで、そのファイルのデータを解析して表示します。javascriptはx分ごとにデータをリロードします。jsonデータが含まれ、最新のデータを使用するためだけに、ファイルの名前はわかりません。
PHPスクリプトは、配列fileList[0]に格納されている最新のファイルを格納します。ページ全体を更新せずにJavaScriptに渡したいので、このstackoverflowの投稿を確認したところ、phpスクリプトに対してajax呼び出しを行うことができますが、この例ではページ上の要素が更新されます。
javascript変数を更新する方法はありますか?データを更新する前に、ファイル名を非表示の要素として配置し、取得することを考えましたが、それは大雑把に思えました。
<?php
date_default_timezone_set('America/New_York');
$files = glob('json/*.*', GLOB_BRACE);
usort($files, 'filemtime_compare');
function filemtime_compare($a, $b)
{
return filemtime($b) - filemtime($a); // Order newest to oldest
}
$i = 0;
$show = 1; // Number of new files to show.
$fileList = array();
foreach($files as $file)
{
if($i == $show) break; else ++$i;
array_push($fileList, $file);
}
//echo $fileList[0] // DEBUG: Make sure I have the right file.
?>
AJAX:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
// This will send a request to a PHP page
$.ajax({
var jsonURL = "";
url: "phpDir.php",
dataType: "html",
success: function(data){
// Place the returned data into your content
}
jsonURL = $fileList[0];
});
</script>
</head>
<body>