Mucho ajax tumba sitio en godaddy

Iniciado por kakashi20, 26 Diciembre 2014, 03:18 AM

0 Miembros y 1 Visitante están viendo este tema.

kakashi20

Hola

Tengo una especie de buscador que utiliza:


Código (php) [Seleccionar]
<input type='text' name='empresa' id='empresa' onkeyup="BuscarNitServ()" onblur="QuitarNitServ()" size='50' />



Código (javascript) [Seleccionar]
function BuscarNitServ(){

   

    var str = "nit="+$("#empresa").val();

    $("#BusquedaNitServ").fadeIn();



$.ajax({


           

            type: 'POST',



            url: 'buscar.php',

           

            data: str,



            success:function(msg){



                            $("#BusquedaNitServ").html(msg)

                   


            }


        });
       
       
       

       

}




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

engel lex

XD te estas haciendo un DDoS

Cuando llamas esa funcion?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

MinusFour

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 (javascript) [Seleccionar]

var doAjax;

function autocomplete() {
   if(doAjax !== undefined){
      clearTimeout(doAjax);
   }
   doAjax = setTimeout(BuscarNitServ, 1500);
   //1500 es el tiempo que debe estar inactivo el input para que se ejecute el AJAX.
}

function BuscarNitServ() {
    var str = "nit=" + $("#empresa").val();
    $("#BusquedaNitServ").fadeIn();
    $.ajax({
        type: 'POST',
        url: 'buscar.php',
        data: str,
        success: function(msg) {
            $("#BusquedaNitServ").html(msg)
        }
    });
}

#!drvy

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