0
Я пытался использовать HTML5 SSE в приложении grails. Ниже приведен пример кода в действии:HTML5 SSE в Grails
def push(){
println "Inside action..."
response.setContentType("text/event-stream");
response.setCharacterEncoding("UTF-8");
render("data: ${System.currentTimeMillis()}");
}
стороне клиента код:
<script type="text/javascript">
if(typeof(EventSource) !== "undefined") {
var source = new EventSource("push");
source.onmessage = function(event) {
console.debug("event triggered...");
document.getElementById("result").innerHTML += event.data + "<br>";
};
source.onerror = function(event) {
console.log(event.message);
}
} else {
document.getElementById("result").innerHTML = "Sorry, your browser does not support server-sent events...";
}
</script>
Но OnMessage событие не получает сигнал. onerror запускается и печатает undefined.It показывает правильное действие, но не передает данные.
Я также попытался:
response.outputStream.write(...........)
response.outputStream.flush()
, но не работает.
Просьба предложить.
Здравствуйте, Vivek, как вам удалось очистить данные и не закрывать соединение после того, как контроллер/действие закончено? – user3621841