我已经在jQuery / MySQL和PHP中创建了一个聊天框。
要显示新消息,我使用POST HTTP请求和$('#chatcontent').html(data)
方法刷新页面上的#chatcontent。
我的问题是,即使没有新消息,DOMSubtreeModified侦听器也将检测到更改,因为我每秒刷新一次内容。
那么,如何检测到实际上有新消息呢?
最佳答案
此类问题的理想设置是使用WebSocket将数据从服务器发送到客户端。只需在服务器上侦听新消息,然后使用websocket将其发送到客户端即可。
如果您不想使用websocket,请每3秒进行一次AJAX轮询,并传递最后收到的消息的ID。仅当您收到一些JSON数据时,才更新DIV的innerHTML。尝试不从服务器发送HTML内容。