Cita:
Iniciado por Alexis88 Para no sobrecargar al servidor con peticiones, puedes realizarlas cuando la caja de texto pierda el enfoque (evento
blur
) o cuando se produzca cualquier otro
evento.
Hace un tiempo cree un autocomplete. Una vez finalizado, me di cuenta que realiza demasiadas peticiones, puesto que lo hacía a cada pulsación.
Recordé este código y lo apliqué - aumentando el tiempo del temporizador. En un principio no me percaté del problema, pero luego, observé que aparecián opciones que no deberían de estar. Haciendo algunas pruebas, vi que el problema residía en que la última petición (la cadena completa) no se realizaba.
- 1ª petición --> foro
- 2ª y última petición --> forosdelw
- petición que no se realiazada --> forosdelweb
Se ocurrió que en lugar de sobre escribir a null la variable, podía limpiar el temporizador. Y entonces, si obtuve el resultado deseado
- 1ª petición --> foro
- 2ª petición --> forosdelw
- última petición --> forosdelweb
Código Javascript
:
Ver originalvar keyUpTimeout = 0;
if (keyUpTimeout) clearTimeout(keyUpTimeout);
keyUpTimeout = setTimeout(function() {
// Se realiaza la petición
}, 700);