Server-Sent 出现error的原因?

前端代码:

    var source = new EventSource("msgs");
    source.onmessage = function(event) {
        console.log("event.data=" + event.data);
    };
    source.onopen = function(event) {
        console.log("open");
    };
    source.onerror = function(event) {
        console.log("error:" );
        console.log(event);
    };

后端代码:

    @RequestMapping("msgs")
    public void serverSend(HttpServletResponse response) {
        response.setContentType("text/event-stream");
        response.setCharacterEncoding("UTF-8");
        PrintWriter pw = null;
        try {
            pw = response.getWriter();
            int i = 0;
            while (true) {
                pw.println("data: 消息测试" + i++ + "\n");
                pw.flush();
                if (i == 3) {
                    break;
                }
                Thread.sleep(1000);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

浏览器console输出:

open
event.data=消息测试0
event.data=消息测试1
event.data=消息测试2
error:
Event {isTrusted: true, type: "error", target: EventSource, currentTarget: EventSource, eventPhase: 2…}

请问:error出现的原因是?谢谢大家

阅读 3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题