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

  • 相关阅读:
    文字无缝滚动效果,鼠标移入时暂停
    Spring中使用@Autowired注解静态实例对象
    服务器环境搭建
    nexus问题
    useUnicode=true&characterEncoding=UTF-8 的作用
    SpringBoot项目启动时自动执行指定方法
    springboot自定义消息转换器HttpMessageConverter
    kubernetes资源类别介绍
    红黑树与平衡二叉树的比较
    Feign Client的超时时间
  • 原文地址:https://www.cnblogs.com/fx2008/p/5242745.html
Copyright © 2011-2022 走看看