有人可以引导我以正确的方式进行实时通知吗
例如,知道何时在 Mysql 中添加了新行
知道一个 php 文件是否已更改???
我应该怎么做?
您可以使用 定期检查服务器的更新setInterval(),也可以使用 javascript 进行长轮询。这样做的好处setInterval()是它不会在您的服务器上保持连接打开太久,但您可能会在服务器调用之间的“停机时间”期间进行更新。长轮询将为您提供近乎即时的更新,因为它会等待连接打开,直到收到新信息。但显然,不利的一面是您的连接在整个地方都保持打开状态。
setInterval(function(){
$.get("updates.php", {}, function(results){
if ($(results).length) {
$("results").each(function(){
// do something with update messages
});
}
});
}, 30000); // Every 30 seconds.
您可以在http://blog.perplexedlabs.com/2009/05/04/php-jquery-ajax-javascript-long-polling/找到使用 PHP 和 jQuery 进行长轮询的示例
您可以使用 db 触发器来监视某些表中的更改并将通知数据插入到新表中。然后。使用 Jquery 和 ajax 定期查询该数据库表。
工作流程:
users以进行插入、更新和删除的触发器users被更改,触发器会插入一条新记录来notifications详细说明更改的内容notifications表中的新记录并将它们显示给用户。这个简单的工作流程可能不像您希望的那样容易实施,但它会以有效的方式完成工作。