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作品是强制性的,但是直接使用界面并处理它会浪费时间(除非出于学习目的),所以我建议使用Puhser JS Library以此目的。
现在,这是步骤的流程:
  • 免费获取 Pusher API key
  • 包括客户 channel 库
  • 打开与 channel 的连接
  • 订阅 channel
  • 监听事件
  • 从您的服务器触发事件​​

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

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

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

    相关文章:

    mysql GROUP_CONCAT DISTINCT 多列

    mysql - 将MySql数据库转换为C#LocalDB

    php - 没有括号的字符串连接中的算术运算导致奇怪的结果

    php - CSRF token 在本地主机上始终无效 - Symfony 4 表单

    javascript - 在数据库中保存多个按钮点击

    具有相同类的jQuery切换元素

    mysql - 在 mySQL 中使用 WHERE 子句并在两列中搜索字符串

    php - Symfony2:没有扩展能够加载以下配置

    javascript - jQuery震动效果不适用于PHP表单验证

    jquery - html/css 响应式网格,可正确调整大小和填充宽度