Javascript 动态弹出窗口';通过调用一个永远运行并返回';每个周期后都会有一组数据

Javascript 动态弹出窗口';通过调用一个永远运行并返回';每个周期后都会有一组数据,javascript,ajax,perl,google-maps-api-3,cgi,Javascript,Ajax,Perl,Google Maps Api 3,Cgi,我正试图在机构层面上实现类似谷歌公共警报的功能 我将在主页上显示机构地图,如果有事件,我将尝试动态插入该事件的标记,即用户无需刷新地图 不幸的是,要做到这一点,我必须使用一种称为IF-MAP的技术,这迫使我使用一个cgi脚本,该脚本不断重复循环,直到中断被传递 这就是我的流程: 带有GoogleMap和ajax脚本的网页,该脚本调用我的cgi脚本以获取有关标记的数据 一个perl-cgi脚本,它不断轮询IF-MAP数据库以获取校园警报的任何更新。在每个轮询周期结束时,它都会返回一些数据,以便网页

我正试图在机构层面上实现类似谷歌公共警报的功能

我将在主页上显示机构地图,如果有事件,我将尝试动态插入该事件的标记,即用户无需刷新地图

不幸的是,要做到这一点,我必须使用一种称为IF-MAP的技术,这迫使我使用一个cgi脚本,该脚本不断重复循环,直到中断被传递

这就是我的流程:

  • 带有GoogleMap和ajax脚本的网页,该脚本调用我的cgi脚本以获取有关标记的数据
  • 一个perl-cgi脚本,它不断轮询IF-MAP数据库以获取校园警报的任何更新。在每个轮询周期结束时,它都会返回一些数据,以便网页显示标记
  • 我面临的问题是,

    在cgi脚本完成执行之前,网页不会显示标记

    是否可以使用我的方法在地图上插入动态警报? 如果是,你能告诉我怎么做吗? 如果没有,我听说过一种叫做socket.io和node.js的东西,它使我的连接有状态。这些技术能帮我解决问题吗


    谢谢。

    你能不能简单一点

  • 从cron作业或守护进程轮询IF-MAP数据库
  • 将结果写入JSON格式的文件
  • 确保该文件的Web服务器缓存/超时等设置正确
  • AJAX—在计时器上获取结果文件,允许304不变的状态为您完成繁重的工作
  • 您可以尝试使用websockets做一些复杂的事情(我认为Perl的Mojolicous框架支持开箱即用),但是您仍然需要一个单独的过程来查询这个IF-MAP数据库