Tengo un evento onkeypress asociado a una función javascript, que me devuelve unos valores de la página try.php en el div "chata".
El problema que tengo es que se demora un poco la respuesta, con lo que es un poco desastre ya que es una sala de chat.
ésta es la función:
Código Javascript:
Ver original
<script type="text/javascript"> function showUser(str,e) { var keycode=e.which?e.which:e.keyCode; //cuando el usuario pulsa intro if (keycode == 13) { var xmlhttp; var name="<?php echo $emisor;?>"; if(str=="") { document.getElementById("txtHint").innerHTML=""; return; } if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { newdiv.innerHTML = "<span style='color: #22bbbb;'>"+name+"</span>:"+" "+xmlhttp.responseText; } } var add; var add=document.createElement("div"); var newdiv=add; var container; var container = document.getElementById("chata"); container.appendChild(newdiv); var chap; var chap=document.getElementById("txt").value; xmlhttp.open("GET","try.php",true); xmlhttp.send(); } }
He probado a simplificar no añadiendo el +name+ a la respuesta, pero es lo mismo.
Lo que hago es ir poniendo las respuestas una detrás de otra, creando un nuevo elemento, como en una sala de chat.
He probado tb, poniendo algo muy sencillo en try.php, un simple echo para que no haga falta hacer llamada a la base de datos, pero sigue siendo lento.
Agradecería cualquier ayuda, a ver si puedo conseguir que la respuesta sea inmediata.
Gracias, un saludo.