39,087
社区成员
发帖
与我相关
我的任务
分享
<!DOCTYPE html>
<html>
<body>
<header>
</header>
<h1>获得服务器更新</h1>
<div id="result"></div>
<script>
if(typeof(EventSource) == "function")
{
var source=new EventSource("http://localhost:8080/HelloWorld/EventSource.jsp");
source.onmessage = function(event)
{
//这个方法没进来
//alert(100);
document.getElementById("result").innerHTML += event.data + "<br />";
};
}
else
{
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>
</body>
</html>
<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.text.DateFormat"%>
<%@ page contentType="text/event-stream; charset=UTF-8"%>
<%
response.setHeader("pragma","no-cache");
response.setHeader("expires","0");
response.setHeader("Cache-Control", "no-cache");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = df.format(new Date());
System.out.println("data: " + str);
out.print("data: " + str);
out.flush();
%>
data: first event
data: second event
id: 100
event: myevent
data: third event
id: 101
: this is a comment
data: fourth event
所以每个事件后面要有一个空行表示该事件的结束。out.println("data: " + str);
out.println();
[/quote]
3楼的方法 果然有效 怒顶一记 非常感谢!!!
不知道这是什么原理?为什么网上的示例中都没有呢.... [/quote]
原来如此,我也是刚学习这个,没注意到这些,总之,Thank you!!out.println("data: " + str);
out.println();
[/quote]
3楼的方法 果然有效 怒顶一记 非常感谢!!!
不知道这是什么原理?为什么网上的示例中都没有呢.... out.println("data: " + str);
out.println();