我与PHP& amp;进行了一次相当基本的AJAX聊天MySQL的。聊天消息存储在MySQL数据库中,我每隔几秒钟轮询(我知道,我知道)检查新消息。
为了保持带宽和更新时间,我已将其设置为在第一个请求时返回所有消息,然后每个请求只返回id大于上一个消息的消息客户端收到的ID,将这些新消息添加到聊天的底部,并删除顶部的旧消息,以便始终将聊天设置为150条消息。
这很有效,但有一个致命的缺陷。当主持人删除聊天消息时,除非您重新加载页面,否则它不会从聊天屏幕中删除。如何更改我的系统以允许删除邮件,或者更改我的方法以使其有效?
答案 0 :(得分:0)
您可以以某种方式跟踪已删除的ID。只是在数据库中标记它们被删除,或者如果您必须真正删除该记录,请跟踪这些已删除邮件的ID。然后在AJAX响应中添加一个新部分,列出已删除的ID。
然后,客户端可以浏览消息历史记录并删除相应的条目。假设您已将消息ID附加到聊天记录中的消息中,这应该是一个相对简单的操作。