【问题标题】:How do I implement observer pattern on PHP + Javascript/jQuery?如何在 PHP + Javascript/jQuery 上实现观察者模式?
【发布时间】:2009-10-27 07:05:42
【问题描述】:

就像在 SO 中回答问题一样,如果有人回答了所述问题,则会出现通知(通过 AJAX?)。我在某种程度上复制这一点的唯一方法是在我的脚本中包含一个超时,如果每 n 秒有一次更新,该超时就会获取。有没有办法在 PHP + Javascript(w/jQuery)上使用观察者模式来做到这一点?

【问题讨论】:

    标签: php javascript jquery observer-pattern


    【解决方案1】:

    您必须查看 ReverseAJAXCOMET 方法。

    根据维基百科

    反向 Ajax 指的是 Ajax 设计 使用长寿命 HTTP 的模式 连接以实现低延迟 网络服务器和网络服务器之间的通信 浏览器。基本上这是一种方式 从客户端向服务器发送数据和 一种推送服务器数据的机制 返回浏览器。

    编辑:

    我建议您实现以下方法,这很容易实现。我以stackoverflow的回答为例。

    1. 答案页面加载完成后。发起 AJAX 请求(异步,因此不会阻塞 UI)
    2. 它会在服务器端寻找任何新的更新(轮询数据库以检查是否添加了任何新答案)
    3. 如果有更新,则仅将数据返回给浏览器。否则请保持冷静。
    4. 向客户端返回数据后,客户端应调用另一个 AJAX 请求并等待更新。
    5. 在页面生命周期的剩余时间内重复第 2 步到第 4 步。

    希望这会有所帮助。

    【讨论】:

    • 感谢您的链接,客户和长轮询主题让我思考。很多想法现在突然出现在我的脑海中。但我需要更具体的答案。还是谢谢。
    【解决方案2】:

    如果你使用超时来查询服务器的更新,它可能仍然被认为是观察者模式的一种特殊实现。不幸的是,反过来是不可能的。如果服务器完成对主 HTTP 请求的响应,客户端就完成“监听”它。这样做的唯一方法是从客户端发出异步请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      相关资源
      最近更新 更多