Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 等待两个不同的用户单击一个按钮,然后转到一个页面_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

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

Javascript 等待两个不同的用户单击一个按钮,然后转到一个页面,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,大家好,我正在做一个网站项目,我想等到两个单独的用户点击一个按钮,然后让他们都进入同一个页面。这些用户将分别位于各自的浏览器窗口中。 我搜索了互联网并研究了ajax,但发现这不是我要寻找的,因为我希望页面能够自动检测不同浏览器中的其他用户何时单击按钮,而不是让用户重复单击按钮以查看其他用户是否单击了按钮,例如使用ajax。请帮忙,谢谢 目标:一旦不同的用户在不同的窗口中单击同一个按钮,用户就会自动重定向到另一个页面 例如: 用户1和用户2都在一个网站上 用户1点击一个按钮。用户1现在正在等待页面

大家好,我正在做一个网站项目,我想等到两个单独的用户点击一个按钮,然后让他们都进入同一个页面。这些用户将分别位于各自的浏览器窗口中。 我搜索了互联网并研究了ajax,但发现这不是我要寻找的,因为我希望页面能够自动检测不同浏览器中的其他用户何时单击按钮,而不是让用户重复单击按钮以查看其他用户是否单击了按钮,例如使用ajax。请帮忙,谢谢

目标:一旦不同的用户在不同的窗口中单击同一个按钮,用户就会自动重定向到另一个页面

例如:

用户1和用户2都在一个网站上

用户1点击一个按钮。用户1现在正在等待页面上等待 直到另一个人在另一个浏览器中单击按钮 窗户

用户2现在单击自己浏览器窗口中的按钮

用户1和用户2现在自动重定向到同一页面


要做到这一点,你肯定应该有一些后端,了解前端用户。所以,接下来的方法是:WebSocket。 每个进入前端的用户都会打开带有后端的频道。所以,只要用户单击按钮,您就可以通过套接字在服务器上发送有关它的信息,并将其存储在服务器上。您的服务器应该等待第二个用户执行相同的操作。当第二个用户单击按钮时,服务器应将这两个通道发送给第一个和第二个用户一些数据,这些数据将告诉浏览器重定向用户。您可以分步骤进行描述:

User1进入站点,浏览器与后端建立连接,服务器存储该用户的ID; User2进入站点,浏览器与后端服务器建立连接,存储该用户的ID; User1点击按钮,浏览器告诉后端User1点击按钮; 服务器存储类似{user1:true,user2:false}的信息,这意味着user1单击了按钮,user2-dont; 用户2点击按钮,服务器获取信息; 服务器在User1和User2数据通道中发送{canRedirect:true}; 这两种浏览器都进行重定向。 这是最简单也是最好的方法。
另一方面,您可以阅读有关长轮询的内容。这里也一样,但这不是在任务中使用HTTP的最佳方式。

如果这不是您想要的,为什么要用ajax标记它?另外,请发布您已经拥有的代码,Stack Overflow是一个专门针对特定编程问题的网站。您可以通过几种方式来实现。但所有这些都需要一些了解其用户的服务器。您的后端应该知道每个用户标识符。对你合适吗?没有后端,没有其他方法可以做到这一点。在所有情况下,您都会向服务器发出一些请求,表示已与id%user\u id%一起使用单击了所需按钮。当第二个用户执行相同的操作时,您必须告诉前端重定向用户。@FunkFortyNiner您不认为这有点小气吗?这个例子有助于提高问题的可读性,并使那些试图理解问题的人更好地理解问题。如果你认为它可以改进,请随意编辑和贡献,否则你的评论无助于或解决眼前的问题。公平地说,无助于或解决眼前的问题,这里甚至没有问题。谢谢。这是建设性的,并将我引向正确的方向。谢谢