动态弹出窗口'通过调用一个永远运行并返回's每个周期后的数据
Dynamic pop up's on a google map by calling a cgi script that runs for ever and return's data after every cycle
我正在尝试在机构级别实现类似谷歌公共警报的功能。
我将在主页上显示机构地图,如果有事件,我将尝试动态插入该事件的标记,即用户不必刷新地图。
不幸的是,要做到这一点,我必须使用一种名为IF-MAP的技术,这迫使我使用一个不断重复循环直到中断通过的cgi脚本。
我的流程是这样的:
- 带有googlemap和ajax脚本的网页,该脚本调用我的cgi脚本以获取有关标记的数据
- 一个perl-cgi脚本,它不断轮询IF-MAP数据库,以获取校园内警报的任何更新。在每个轮询周期结束时,它会返回一些数据,以便网页显示标记
我面临的问题是,
在cgi脚本完成执行之前,网页不会显示标记。
是否可以使用我的方法在地图上插入动态警报?如果是,你能建议我怎么做吗?如果没有,我听说过一种名为socket.io和node.js的东西,它们使我的连接有状态。这些技术能帮我解决问题吗?
谢谢。
你能不能不简单一点?
- 从cron作业或守护进程轮询IF-MAP数据库
- 将结果写入JSON格式的文件
- 确保该文件的Web服务器缓存/超时等设置正确
- AJAX-在计时器上获取结果文件,允许304状态不变为您做艰苦的工作
你可以尝试用websocket做一些复杂的事情(我认为Perl的Mojolicus框架开箱即用地支持它们),但你仍然需要一个单独的过程来查询这个IF-MAP数据库。
相关文章:
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 谷歌地图:函数返回未定义的值在console.log中运行良好
- 在promise完成后,依次运行返回promise的函数
- Scala提升了如何运行javascript函数并将返回值存储在变量中
- javascript在html元素方法运行setTimeout后返回此消息
- 使用 jQuery 从运行 MySQL 的 PHP 脚本返回信息
- 如何在运行总计计算器时返回表单输入并更新 JavaScript 变量
- $.getJSON 在返回数据后不会运行函数
- 动态弹出窗口'通过调用一个永远运行并返回's每个周期后的数据
- 自定义Angular.js过滤器在IE8中不返回任何内容,在Chrome/FF中运行良好
- 如何在返回另一个函数中的值后运行一个函数
- 未运行通过AJAX从PHP返回的Javascript代码
- 当在运行nodejs的服务器上调用new Date()时,Date将返回服务器启动时的日期
- 从Java脚本返回多个值,这些值不能在firefox上运行(在IE上运行良好)
- Ajax调用在本地返回json,但在服务器上运行时返回xml
- 自定义Div滑块运行过快,但仅当从另一个浏览器选项卡返回时
- 然后在ajax返回之前运行
- UIWebView 无法将 JavaScript 作为 document.getElementById 运行,返回 nu
- 运行 grunt.file.copy 返回错误代码:ENOENT
- 如何将javascript变量传递给php文件,运行数据库查询并返回true或false