en muchos casos , las páginas relacionadas en un sitio web consisten en mucho contenido que es común entre ellos. Usando métodos tradicionales, ese contenido debería ser recargado en cada solicitud. Sin embargo, al utilizar Ajax, una aplicación web puede solicitar solo el contenido que necesita actualizarse, lo que reduce drásticamente el uso del ancho de banda y el tiempo de carga.
El uso de solicitudes asincrónicas permite que la IU del navegador web del cliente sea más interactiva y responda rápidamente a las entradas, y las secciones de páginas también se pueden volver a cargar individualmente. Los usuarios pueden percibir que la aplicación es más rápida o más receptiva, incluso si la aplicación no ha cambiado en el lado del servidor.
El uso de Ajax puede reducir las conexiones al servidor, ya que los scripts y las hojas de estilo solo deben solicitarse una vez. [12]
El estado se puede mantener a través de un sitio web. Las variables de JavaScript persistirán porque no es necesario volver a cargar la página del contenedor principal.
> Debido a su naturaleza dinámica, las interfaces Ajax son a menudo más difícil de desarrollar, en comparación con las páginas estáticas. Las páginas creadas dinámicamente con sucesivas solicitudes Ajax no se registran automáticamente en el motor de historial del navegador, por lo que al hacer clic en el botón "Atrás" del navegador puede que el usuario no vuelva a un estado anterior de la página habilitada para Ajax, pero en su lugar puede regresar. a la última página completa visitada antes. Las soluciones incluyen el uso de IFrames invisibles para desencadenar cambios en el historial del navegador y cambiar la parte del ancla de la URL (después de un #) cuando se ejecuta Ajax y supervisar los cambios.
Las actualizaciones dinámicas de la página web también dificultan que un usuario marque un estado particular de la aplicación. Existen soluciones para este problema, muchas de las cuales usan el identificador de fragmento de URL (la parte de una URL después del '#') para hacer un seguimiento y permitir a los usuarios regresar a la aplicación en un estado determinado.
Dado que la mayoría de los rastreadores web no ejecutan código JavaScript, las aplicaciones web públicamente indexables deben proporcionar un medio alternativo para acceder al contenido que normalmente se recuperaría con Ajax, para permitir que los motores de búsqueda lo indicen.
Cualquier usuario cuyo navegador no admita JavaScript o XMLHttpRequest, o simplemente tenga esta funcionalidad deshabilitada, no podrá usar correctamente las páginas que dependen de Ajax. Del mismo modo, dispositivos como teléfonos móviles, PDA y lectores de pantalla pueden no tener soporte para las tecnologías requeridas. Los lectores de pantalla que pueden usar Ajax aún no pueden leer correctamente el contenido generado dinámicamente. La única forma de permitir que el usuario lleve a cabo la funcionalidad es recurrir a métodos que no sean JavaScript. Esto se puede lograr asegurándose de que los enlaces y formularios se puedan resolver adecuadamente y no dependan únicamente de Ajax. En JavaScript, el envío del formulario podría detenerse con "return false".
La misma política de origen impide que se utilicen algunas técnicas de Ajax en todos los dominios, aunque el W3C tiene un borrador del objeto XMLHttpRequest que habilitaría esta funcionalidad.
Al igual que otras tecnologías web, Ajax tiene su propio conjunto de vulnerabilidades que los desarrolladores deben abordar. Los desarrolladores familiarizados con otras tecnologías web pueden tener que aprender nuevas pruebas y métodos de codificación para escribir aplicaciones Ajax seguras.
Las interfaces impulsadas por Ajax pueden aumentar drásticamente el número de solicitudes generadas por el usuario a los servidores web y sus back-ends (bases de datos, u otros). Esto puede conducir a tiempos de respuesta más largos y/o necesidades de hardware adicionales.
lo preguntas acerca * Ajax con jQuery * específicamente, o ajax en general? – bzlm
'ajax con jQuery' solo ... –