php - 使用 php 和 ajax 更新 mysql 中的 div,无需通过 timmer 重新加载

标签 php jquery mysql ajax

我必须更新一个div的状态,事情是这样的。在两台计算机上,必须打开相同的网页,并且我必须能够更改一台计算机中div的状态并自动更新另一台计算机而无需重新加载,我认为仅使用Ajax是不够的,因为我不想放置一种自动重新加载 div 的计时器,如果没有,当单击计算机 A 上的按钮时,它将在计数器 B 上更新显然使用 mysql 和 php。这可能吗?

最佳答案

你是对的,仅靠 AJAX 是不够的。
真正符合您的目的的是 WebSockets .
简而言之:

The WebSocket API is an advanced technology that makes it possible to open a two-way interactive communication session between the user's browser and a server. With this API, you can send messages to a server and receive event-driven responses without having to poll the server for a reply.

当然,了解如何WebSocket Works 是强制性的,但是直接使用接口(interface)并处理它会浪费时间(除非出于学习目的),所以我建议使用 Puhser JS Library为此目的。

现在,步骤流程如下:

  1. 获取 Pusher 的免费 API key
  2. 包含客户 channel 库
  3. 打开与 channel 的连接
  4. 订阅 channel
  5. 监听事件
  6. 从您的服务器触发事件​​

我想重点关注步骤 5 和 6:

  • 您从一个页面发出 AJAX 请求,并将该请求发送到服务器,现在您只需触发 <div> 的负责事件,而不是让服务器直接响应。元素更新,即第 6 步中需要发生的事情。
  • 由于所有浏览器都订阅了负责的事件并正在监听,因此当第 6 步触发此事件时,所有浏览器都会收到该事件,因此在第 5 步中,您将执行 DOM 操作来更新 <div>元素。

如果我的解释不好,我很抱歉,但别担心,因为它比看起来更容易,documentation以极好的方式解释了它。

关于php - 使用 php 和 ajax 更新 mysql 中的 div,无需通过 timmer 重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63973801/

相关文章:

javascript - 使用 Knockout 以编程方式更改选项值

mysql - 将带有连接的mysql选择查询转换为带有连接的更新查询

python - 通过 sqlalchemy 针对 MySql 运行的查询比在数据库控制台上慢得多

MySQL - 克隆然后更改字段 - 这是竞争条件吗?

jquery - 禁用基础 Accordion 的可点击性

php - PHP 中可以将字符串转换为类名

php - 我如何使用与 Laravel 的关系?

php - 从sql数据库实时更新 Highcharts

javascript - 跨域脚本问题

php - INSERT INTO 和主键、自增字段和默认值