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('')组合数据

  • 相关阅读:
    javascript DOM 操作
    遍历Map集合四中方法
    遍历List集合的三种方法
    Java中static关键字用法总结
    java中this关键字的作用
    深入理解Java的接口和抽象类
    MySQL查看所有用户及拥有权限
    MySQL新建用户,授权
    VMware Ubuntu如何连接互联网
    控件不接收用户交互的情况以及事件响应顺序
  • 原文地址:https://www.cnblogs.com/fx2008/p/5242745.html
Copyright © 2011-2022 走看看