サーバー上のページファイルが変更されたときに、JavaScriptを使用してページを更新します。ファイルを変更したときにページを更新する
ファイルのファイル変更時刻を取得してjsonとして返すには、api.php(下記参照)を使用します。
api.phpからデータを取得するのは問題ありませんが、古い値とjavascriptの新しい値を比較し、その場合はどうすればページを更新できますか?ここで
は、私がこれまでにやっていることです:var oldVar = 0;
setInterval(function(){
$.getJSON('api.php', function(data) {
console.log(data);
var obj = data;
var filedate = obj.filedate;
if (oldVar != filedate) {
location.reload();
};
var oldVar = filedate;
});
}, 1000); // 1 second
は明らかにこれは、ページの更新毎秒になりますが、私はどのように進めるには考えています。
ここに私がデータを取得するために使用するPHPコードがあります。私はfilemtimeを使用してサーバー上のファイルの変更時刻を確認します。
<?php
$filename = "test.php";
if (file_exists($filename)) {
$dateFile = date("s", filemtime($filename));
$dateOfFile = array('filedate' => "$dateFile");
echo json_encode($dateOfFile);
}
?>
私は、クライアント側ではなくPHPでリダイレクトを処理することをお勧めします – RamRaider
oldVarはallways 0であり、oldVarの新しい値ではないという問題はありますか? – Hokusai
@hokusaiご返信いただきありがとうございます。それは問題ではありません。私が欲しいのは、ページに変更が加えられたときに、ページを更新するためのjavascriptです。 リフレッシュ時api.phpは、test.phpを変更するたびに変更されるjson値を返します。 JavaScriptを毎秒このページで確認したい。私はそれがリフレッシュを引き起こすことを望む変化を見るとき。 – Niels