前端代码:
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出现的原因是?谢谢大家