0
J'essayais d'utiliser HTML5 SSE dans l'application grails. Voici un exemple de code dans l'action:HTML5 SSE In Grails
def push(){
println "Inside action..."
response.setContentType("text/event-stream");
response.setCharacterEncoding("UTF-8");
render("data: ${System.currentTimeMillis()}");
}
code côté client:
<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>
Mais l'événement onmessage ne reçoit pas déclenché. onerror est déclenché et imprime undefined.It frappe l'action correcte mais ne transmet pas les données.
J'ai aussi essayé:
response.outputStream.write(...........)
response.outputStream.flush()
mais ne fonctionne pas.
Veuillez nous suggérer.
Bonjour Vivek, comment avez-vous réussi à vider les données et à éviter que la connexion ne soit fermée une fois le contrôleur/l'action terminé? – user3621841