サーブレットに取り組んでいますが、問題が発生しました。SSE は Firefox では問題なく動作しますが、Chrome/Safari では動作しません。PHP の同様のコードは、上記の 3 つのブラウザーすべてでスムーズに実行できます。問題を解決するには?どうも!!
これは私のサーブレットコードです:
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 を使用しています。