实时通知Jquery

时间:2009-12-21 20:09:25

标签: php jquery live

有人可以引导我以正确的方式发布实时通知吗

例如知道在Mysql中添加新行的时间

知道php文件是否已更改???

我该怎么办呢?

2 个答案:

答案 0 :(得分:8)

您可以使用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.

使用PHP / jQuery进行长轮询示例:

您可以在http://blog.perplexedlabs.com/2009/05/04/php-jquery-ajax-javascript-long-polling/

找到使用PHP和jQuery进行长轮询的示例

答案 1 :(得分:2)

您可以使用db触发器监视某些表中的更改,并将通知数据插入到新表中。然后。使用Jquery和ajax定期查询该数据库表。

工作流:

  1. 创建监视表users以进行插入,更新和删除的触发器
  2. 更改users后,触发器会将新记录插入notifications详细说明更改内容
  3. 使用定期更新程序,检查notifications表中的新记录并将其显示给用户。
  4. 这个简单的工作流程可能不像您希望的那样容易实现,但它可以有效地完成工作。