为了账号安全,请及时绑定邮箱和手机立即绑定

等到两个不同的用户单击一个按钮,然后转到一个页面

等到两个不同的用户单击一个按钮,然后转到一个页面

PHP
慕村225694 2022-06-11 18:14:35
在一个网站项目上工作,我想等到两个单独的用户单击一个按钮,然后让他们都转到同一页面。这些用户将在各自的浏览器窗口中。我已经搜索了互联网并研究了 ajax,但发现这不是我想要的,因为我希望页面能够自动检测其他浏览器中的其他用户何时单击该按钮,而不是让用户重复单击一个按钮来查看其他用户是否单击了那里的按钮,例如使用 ajax。请帮忙谢谢。目标:一旦不同的用户在不同的窗口中单击相同的按钮,用户就会被自动重定向到另一个页面例子:用户 1 和用户 2 都在网站上用户 1 单击一个按钮。用户 1 现在正在等待页面上等待,直到另一个人在不同的浏览器窗口中单击该按钮。用户 2 现在在他们自己的浏览器窗口中单击按钮用户 1 和用户 2 现在会自动重定向到同一页面。
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

要完成这项工作,您绝对应该有一些了解前端用户的后端。所以,下一个方法是:websockets。每个进入您的前端的用户都会打开带有后端的频道。因此,一旦用户单击该按钮,您只需通过套接字在服务器上发送有关它的信息并将其存储在服务器上。比你的服务器应该等到第二个用户做出同样的动作。当第二个用户单击该按钮时,服务器应该向这两个通道(给第一个和第二个用户)发送一些数据,这将告诉浏览器重定向用户。可以分步骤描述你:

  1. User1进入站点,浏览器与后端建立连接,服务器存储该用户的ID;

  2. User2进入站点,浏览器与后端服务器建立连接,存储该用户的ID;

  3. User1点击按钮,浏览器告诉后端User1点击按钮;

  4. 服务器存储诸如 { user1: true, user2: false } 之类的信息(表示 user1 点击了按钮,user2 - 不要);

  5. User2点击按钮,服务器获取信息;

  6. 服务器在 User1 和 User2 的通道中发送数据,例如 { canRedirect: true };

  7. 两个浏览器都进行重定向。

这是最简单也是最好的方法。以其他方式,您可以阅读有关长轮询的信息。此处相同,但不是将 HTTP 用于您的任务的最佳方式。


查看完整回答
反对 回复 2022-06-11
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号