我正在寻找一些解决方案,例如 .net php 观察者,我遇到了这段代码,它显示在下面。我的应用程序应该等到数据库更改发生 - 新记录或现有记录状态的更改,然后重新填充客户端页面上的记录列表。问题是 - 我没有使用下面代码块中的 txt 文件,因此我可能无法使用filemtime
检查数据库中的更改或新记录。我如何处理数据库查询结果?
需要根据我的需要修改的代码块:
<script>
var timestamp = null;
function wait_for_message(){
$.ajax({
type: "GET",
url: "get_data.php?time_stamp=" + time_stamp,
async: true,
cache: false,
success: function (data){
var json - eval('(' + data + ')');
if(json['msg'] != "") {
alert(json['msg'] );
}
time_stamp = ['time_stamp'];
setTimeout('wait_for_message(), 1000);
}});
}
$(document).ready(function (){
wait_for_message();
});
</script>
和 php 文件
<?php
$filename = dirname(__FILE__).'/data.txt';
$last_modif = isset($_GET['time_stamp']) ? $_GET['time_stamp'] : 0;
$current_modif = filemtime($filename);
while ($current_modif <= $last_modif){
usleep(1000);
clearstartcache();
$current_modif = filemtime($filename);
}
$response = array();
$response['msg'] = file_get_contents($filename);
$response['time_stamp'] = $current_modif;
echo json_encode($response);
?>