Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2012, 11:21
breaststroke
 
Fecha de Ingreso: octubre-2010
Mensajes: 189
Antigüedad: 13 años, 7 meses
Puntos: 0
respuesta del servidor muy lenta

hola, muy buenas.

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
  1. <script type="text/javascript">
  2. function showUser(str,e)
  3. {
  4. var keycode=e.which?e.which:e.keyCode;
  5. //cuando el usuario pulsa intro
  6. if (keycode == 13)
  7. {
  8. var xmlhttp;
  9. var name="<?php echo $emisor;?>";
  10. if(str=="")
  11.  {
  12.   document.getElementById("txtHint").innerHTML="";
  13.   return;
  14.   }
  15. if(window.XMLHttpRequest)
  16.   {// code for IE7+, Firefox, Chrome, Opera, Safari
  17.   xmlhttp=new XMLHttpRequest();
  18.   }
  19. else
  20.   {// code for IE6, IE5
  21.   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  22.   }
  23. xmlhttp.onreadystatechange=function()
  24.    {
  25.    if (xmlhttp.readyState==4 && xmlhttp.status==200)
  26.     {
  27.      newdiv.innerHTML = "<span style='color: #22bbbb;'>"+name+"</span>:"+" "+xmlhttp.responseText;
  28.     }
  29.    }
  30. var add;
  31. var add=document.createElement("div");
  32. var newdiv=add;
  33. var container;
  34. var container = document.getElementById("chata");
  35. container.appendChild(newdiv);
  36. var chap;
  37. var chap=document.getElementById("txt").value;
  38. xmlhttp.open("GET","try.php",true);
  39. xmlhttp.send();
  40.  
  41. }
  42. }


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.