zoukankan      html  css  js  c++  java
  • EventSource 对象用于接收服务器发送事件通知,是网页自动获取来自服务器的更新

    //--------------------------------客户端代码-----------------------------

    if(typeof(EventSource) !== "undefined") {
     var source = new EventSource("../api/v1/event.source");
     source.onmessage = function(event) {
       $("#content_event").html(event.data + "<br>");
     };

    else {
      $("#content_event").html("你的浏览器不支持 server-sent事件");
    }

    //--------------------------------服务端代码-----------------------------
    @RequestMapping(value = "/event.source",method = {RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public String eventSource(HttpServletResponse response) throws Exception
    {
         try
         {
            response.setHeader("Content-Type", "text/event-stream");//必须
            response.setHeader("Cache-Control", "no-cache");
            response.setCharacterEncoding("UTF-8");
            response.setHeader("Pragma","no-cache");
            response.setDateHeader("Expires",0);
            String serverDateTime = "data:"+CommanUtil.getCurrentDatetime()+" ";//必须以data:开头;以 结尾
            return serverDateTime;
        }
        catch(Exception e)
        {
            logger.debug(e.getMessage().toString());
            return e.getMessage().toString();
        }

    }

     ----------------------------------------------------------------------------

    如果数据比较长时,可以采用多行data:然后js客户端使用event.data.split(' ').join('')组合数据

  • 相关阅读:
    python-excel操作
    python-处理文件
    python-pandas应用总结
    python比较数组
    vue学习一(指令1.v-text,v-html,插值表达式{{msg}})
    博客园背景图页面定制css
    SpringBoot的yml文件报org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here in 'reader', line 11, column 16:
    python初学习一
    C#多线程
    API与WebApi
  • 原文地址:https://www.cnblogs.com/fx2008/p/5242745.html
Copyright © 2011-2022 走看看