Ajax用于通知服务器上的变量更改
Ajax to notify about variable change on server
我正在使用Django和JQuery。我基本上想在游戏开始时刷新团队页面(游戏邦注:游戏是手动启动的,所以确切的时间是未知的)。所以我发送一个ajax请求到服务器询问游戏是否开始,但我必须不断这样做,所以我不确定什么是更好的:1. 有一个javascript while循环,不断发送请求2. 在服务器端有一个while循环,等待响应直到游戏开始。
或者可能有其他更好的方法?
谢谢!
您指定的方法1称为轮询,它将生成多个对服务器的调用,因此不建议使用。
方法2是不可行的,因为你会超时。正确的方法(有效地)做这类事情是通过WebSockets或某种推送通知从服务器。很少有库
http://socket.io/
https://github.com/SignalR/SignalR/wiki/Faq
如果这对你有帮助,别忘了把它标记为答案:)
你的服务器知道游戏什么时候开始,比如下午5点?告诉浏览器的JavaScript在4:59:40开始轮询
轮询是最简单的选项,因为它可以在普通的Django系统中工作。
还有其他一些技术可以保持连接打开并向客户端(浏览器)发送消息,比如websockets或服务器发送事件(sse),但这些技术需要在基础设施中添加额外的组件,而不仅仅是Django。
你不能让服务器等待,浏览器和前端web服务器通常有时间限制来检测死连接,所以你的连接将在游戏开始前终止。
相关文章:
- 将函数的上下文应用于javascript变量
- 将文本框中的值用于按钮窗体操作上的变量
- AngularJS-使模型变量可用于jQuery
- 用于交换两个变量的 JavaScript 函数
- 使变量可用于不带闭包的异步调用
- 用于提取基于点概念的变量的动态Regex
- 保留 JQuery Vars 用于另一个函数(全局变量?)
- 用于添加和删除类的 Jquery 打开/关闭变量
- 用于比较 HTML 标记内的变量的正则表达式
- 流星技术/模式,用于等待数据库变量更改,然后在 in 之后执行某些操作
- 转义序列jQuery,用于在引号内使用变量
- 将变量用于 jquery CSS 属性名称
- 将 rails 实例变量用于 javascript 条件
- 如何将 js 变量用于另一个文件
- 不能将 jQuery 中定义的变量用于 html
- PHP数组中的javascript变量用于jquery自动完成
- Javascript在不同的函数中引入变量;用于谷歌投标的天气脚本
- 我们可以将一个.js文件的变量用于其他.js文件吗
- 在 JavaScript 中使用 PHP 变量用于 Google 地图多边形
- 一个变量用于 JS 中的两个函数