就像在SO中,在回答问题时,如果有人回答了问题,会出现通知(通过AJAX?)。我对此进行复制的唯一方法是在我的脚本中包含一个超时,如果每n秒发生一次更新,则会超时。有没有办法在PHP + Javascript(w / jQuery)上使用观察者模式来做到这一点?
答案 0 :(得分:2)
您必须查看 ReverseAJAX 或COMET方法。
根据维基百科
反向Ajax是指Ajax设计 使用长期HTTP的模式 连接以实现低延迟 Web服务器和Web服务器之间的通信 一个浏览器。基本上它是一种方式 从客户端向服务器发送数据 推送服务器数据的机制 回到浏览器。
修改强>
我建议你实现以下方法,这很容易实现。我以stackoverflow应答为例。
希望这有帮助。
答案 1 :(得分:0)
如果您使用超时来查询服务器的更新,它仍可能被视为Observer模式的特殊实现。不幸的是,不可能以相反的方式做到这一点。如果服务器完成对主HTTP请求的响应,则客户端只完成“监听”它。执行此操作的唯一方法是从客户端发出异步请求。