我已经在 php 和 ajax 中实现了一个简单而原始的聊天系统。基本功能是添加新联系人并与他们进行对话,基本上就像电报或whats'app。所以,我有很多聊天,现在我将实现一个功能,让通知新消息给联系人。我读过一些关于这个的东西,但我不太了解。如何做到这一点,我读到了长轮询或 websocket 但这仅适用于新浏览器。现在它实现了这个非常糟糕,在ajax中使用了一个函数,它每秒向服务器发送一个请求并重新加载当前聊天中的所有消息,而不是其他聊天,并且无法可视化通知。请帮助我:DD
问问题
857 次
1 回答
1
如何做到这一点的一般想法是让观察者定期调用数据库以查看是否有更改。您可以为此使用 AJAX 并调用该函数setInterval(myAjaxFunction, 3000)
,例如每 3 秒检查一次。
为了检查数据库,一种方法是查看表中的记录数并最初存储它。就像是:
SELECT COUNT(*) FROM tableName
获取表中的记录数。因此,最初执行此操作并将其存储在 JavaScript 中,然后让 AJAX 的返回发送查询的值。然后你可以做类似的事情:
if(queryResult != currentRecordCount){
currentRecordCount = queryResult;
sendNodification();
}
在success
AJAX 调用之后。
这将使观察者每 3 秒检查一次,如果数据库中发生更改,它将调用一个sendNodification
函数。
于 2017-03-01T00:01:33.990 回答