php - 创建一个基于 AJAX 的聊天系统。如何避免提交内容的页面刷新并实时显示新消息

标签 php chat refresh

我正在尝试在 PhP 上制作一个小而简单的聊天系统。
我的想法真的很简单,我有一个表单,可以将文本发送到 PHP 脚本,该脚本将 var 保存在数据库中,然后其他用户刷新页面以下载新消息并将其显示在聊天框上。< br/> 问题来了,当我说刷新页面时。
我只是认为,对于用户每秒或更短时间刷新整个页面来说,这可能会成为一个问题,这要感谢 JavaScript 函数。
最初的想法是使用 setInterval() 但我知道我认为这可能是个坏主意。
我不确定,但是从 chrome 刷新表单时,它会保存表单并自动填写,完成刷新后,每个浏览器都会这样做吗?
用于刷新页面的 JavaScript 函数对于连接速度非常慢的人来说是个问题吗?

但最重要的是,要解决这个问题,实际上可以只刷新一个特定的 PHP 脚本,让用户只刷新该脚本并下载新消息,而不是每秒刷新整个页面?

所有帮助将不胜感激。

-注意-

老实说,要我做那个聊天系统的人要求我不要使用 JavaScript,所以理论上我什至不允许使用 setInterval()

最佳答案

对于刷新部分,您可以使用 <META http-equiv="refresh" content="3; URL=truc.php">而不是 setInterval(顺便说一下,setTimeout 就足够了,因为它会在每次页面刷新时发生 1 次)。

对于表单填充,当您提交消息时,它会刷新页面并释放表单,这样就可以了。对于刚刚“阅读”的人,如果他开始输入内容并且页面刷新,它应该在刷新后保留它,这样 il 看起来也不错吗?但是你可以添加 autocomplete="off"以确保表单不会提示任何不需要的内容。

关于php - 创建一个基于 AJAX 的聊天系统。如何避免提交内容的页面刷新并实时显示新消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45255785/

相关文章:

php - 枚举值未在 mysql 表中更新?

java - DataOutputStream 不发送 -1

push-notification - AWS appsync 和推送通知

javascript - 使用 javascript 将表情符号放入文本区域

java - Android:更新ViewPager的有效方法

ios - ios UIWebView中的大量内存泄漏

php - 将 postgresql 间隔格式转换为可在 php 中使用的格式

php - 函数中使用语句不明确的语法错误

javascript - 提交前的 Ajax 验证

php - 如何在重新加载之间存储页面的状态?