Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: kakashi20 en 26 Diciembre 2014, 03:18 am



Título: Mucho ajax tumba sitio en godaddy
Publicado por: kakashi20 en 26 Diciembre 2014, 03:18 am
Hola

Tengo una especie de buscador que utiliza:


Código
  1. <input type='text' name='empresa' id='empresa' onkeyup="BuscarNitServ()" onblur="QuitarNitServ()" size='50' />



Código
  1. function BuscarNitServ(){
  2.  
  3.  
  4.  
  5.    var str = "nit="+$("#empresa").val();
  6.  
  7.    $("#BusquedaNitServ").fadeIn();
  8.  
  9.  
  10.  
  11. $.ajax({
  12.  
  13.  
  14.  
  15.  
  16.            type: 'POST',
  17.  
  18.  
  19.  
  20.            url: 'buscar.php',
  21.  
  22.  
  23.  
  24.            data: str,
  25.  
  26.  
  27.  
  28.            success:function(msg){
  29.  
  30.  
  31.  
  32.                            $("#BusquedaNitServ").html(msg)
  33.  
  34.  
  35.  
  36.  
  37.            }
  38.  
  39.  
  40.        });
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47. }
  48.  
  49.  
  50.  

pero al parecer el llamado de muchas veces del ajax tumba momentáneamente la conexión del sitio web de godaddy.

Esto sucede con todo los hosting o solo sera goddady ?

Gracias


Título: Re: Mucho ajax tumba sitio en godaddy
Publicado por: engel lex en 26 Diciembre 2014, 03:26 am
XD te estas haciendo un DDoS

Cuando llamas esa funcion?


Título: Re: Mucho ajax tumba sitio en godaddy
Publicado por: MinusFour en 26 Diciembre 2014, 06:31 am
Desde un solo cliente no creo que deberias tener problemas. Un servicio asi en produccion  a miles de personas... te va a costar algo. Creo que lo mejor que puedes hacer es darle un Timeout. No he probado esto, es solo una idea.

jQuery UI tiene un metodo de autocomplete que de seguro lo hace mejor que esto.

Código
  1. var doAjax;
  2.  
  3. function autocomplete() {
  4.   if(doAjax !== undefined){
  5.      clearTimeout(doAjax);
  6.   }
  7.   doAjax = setTimeout(BuscarNitServ, 1500);
  8.   //1500 es el tiempo que debe estar inactivo el input para que se ejecute el AJAX.
  9. }
  10.  
  11. function BuscarNitServ() {
  12.    var str = "nit=" + $("#empresa").val();
  13.    $("#BusquedaNitServ").fadeIn();
  14.    $.ajax({
  15.        type: 'POST',
  16.        url: 'buscar.php',
  17.        data: str,
  18.        success: function(msg) {
  19.            $("#BusquedaNitServ").html(msg)
  20.        }
  21.    });
  22. }


Título: Re: Mucho ajax tumba sitio en godaddy
Publicado por: #!drvy en 26 Diciembre 2014, 09:38 am
Deberías optimizar toda la lógica... pregúntate por que pasa eso...

1 - No hagas la petición ajax hasta que no haya al menos 2-3 caracteres en el input.

2 - En el backend comprueba cuantos resultados te devuelve.. si son menos de 500 (por ejemplo) sacalos todos con JSON y luego parsea el resto con javascript.

3 - Intenta cachear resultados. De seguro que usas una consulta mysql para cada carácter.. eso no es nada practico.

Esto te sucederá con todos los hostings. Ningún hosting va a optimizar tu código porque si..

Saludos