Los 10 errores más frecuentes cuando usas AJAX
Últimamente con AJAX está pasando como con Flash hace aproximadamente un año: todo el mundo se apunta a la ‘moda’, y todo se quiere hacer con AJAX; esté bien o mal…sin pensar en si es lo mejor o lo más idóneo para la aplicación web que se está desarrollando.
-
No uses AJAX para actualizar la página completamente poniendo todo en el Panel de Actualización. Quieres ahorrar tiempo y tráfico cuando ejecutes la web. Nunca actualices partes de la web que se pueden cambiar usando JavaScript y DHTML (DOM).
-
Ten en mente que habrá una pequeña parte de visitantes que tengan JavaScript deshabilitado o usen un navegador con una versión más antigua de JavaScript como la que tienen la mayoría de dispositivos móviles. ¿Qué hace el visitante si todo está deshabilitado? No es recomendable tener la web completo disponible como una versión de JavaScript deshabilitado.
-
Cachea en el lado del cliente o implementa un cacheo en el servidor web las peticiones más comunes. Las características más usadas como AutoCompleatado o los campos DropDown está todo el tiempo completando lo mismo. Algo escrito incorrectamente en el AutoCompletado puede enlentecer el servidor de BBDD porque hay más peticiones hechas que una version anterior usando PostBacks. Piensa que es como si presionaras F5 (recargar) todo el tiempo en un sitio web sin AJAX. Si tienes un DropDown en cascada puedes ahorrar más tráfico/peticiones!
-
No hagas muchas llamadas concurrentes o grandes peticiones AJAX cuando uses CSS o JavaScript para cargar la interfaz. Solo hay dos conexiones http concurrentes posibles con todos los navegadores comunes (sé que se puede cambiar esto, pero comportamiento por defecto son dos). Si hay muchas peticiones AJAX funcionando, la carga de imágenes será lenta.
-
Utiliza siempre la llamada asícrona del método send del XMLHttpRequest. No uses el método síncrono. Tu navegador no se colgará cuando tenga problemas de red o conexiones lentas.
-
Prueba tu aplicación usando una conexión a internet muy lenta. Pruébala utilizando una conexión TCP/IP con un rango de latencia muy alto para cada paquete.
-
¿Está funcionando tu aplicación web como un reemplazo al escritorio? Echa un vistazo al uso de memoria de los navegadores más comunes si tu ejecutas tu aplicación una hora, dos o un par de días. ¡No todo el mundo tiene una máquina de desarrollo como la tuya!
-
Comprueba el estado del código http que recibes desde XMLHttpRequest. Hay un par de errores de red comunes como DNS no disponible, error del servidor http 500. ¿Comprobaste si el código dice al navegador que está en modo offline?
-
Intenta deshabilitar el objeto XMLHttpRequest. Con IE7 utilizas un objeto nativo instanciado del objeto ActiveX, aunque también pueedes deshabilitar el objeto nativo.
- Comprueba tus peticiones AJAX de directivas de seguridad. ¿Abriste todas las capas de acceso a datos? Haz uso de FormsAuthentication y PrincipalPermissions (Autenticación de Formularios y Permisos Principales, respectivamente*) en ASP.NET. ¿Puede crear peticiones cualquiera (no solo clickando en un link)?
*Nota.Traducción al castellano: FormsAutentication y PrincipalPermissions son dos clases de ASP.NET
Artículos relacionados
Comparte este artículo
Licencia de los contenidos
Esta obra está protegida por una Licencia Atribución-SinDerivadas de Creative Commons.