我正在研究 servlet,但遇到了问题。SSE 可以在 Firefox 上正常工作,但不能在 Chrome/Safari 上工作。PHP 中的类似代码可以在上述所有三种浏览器中流畅运行。如何解决问题?谢谢!!
这是我的 servlet 代码:
response.setContentType("text/event-stream;charset=UTF-8");
response.addHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
out.print("data: " + new Date());
out.flush();
out.close();
这是我的 JS 代码:
if (typeof(EventSource) !== "undefined")
{
var source = new EventSource("sse");
source.onmessage = function(event)
{
document.getElementById("result").innerHTML += event.data + "<br />";
alert("ok");
};
}
else
{
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
顺便说一句,我正在使用 Glassfish。