Básicamente, lo que hace Ajax es utilizar el objeto XMLHttpRequest (XHR) incorporado en el navegador para enviar y recibir información hacia y desde un servidor web de forma asíncrona, en segundo plano, sin bloquear la página ni interferir en la experiencia del usuario.
Dado que las peticiones Ajax suelen ser asíncronas, la ejecución del script continúa tan pronto como se envía la petición Ajax, es decir, el navegador no detendrá la ejecución del script hasta que vuelva la respuesta del servidor.
Consejo: El archivo puede ser de cualquier tipo, como .txt o .xml, o archivos de script del lado del servidor, como .php o .asp, que pueden realizar algunas acciones en el servidor (por ejemplo, insertar o leer datos de la base de datos) antes de enviar la respuesta al cliente.
Nota: El método send() acepta un parámetro opcional body que nos permite especificar el cuerpo de la petición. Esto se utiliza principalmente para las peticiones HTTP POST, ya que la petición HTTP GET no tiene un cuerpo de petición, sólo cabeceras de petición.
La petición GET se utiliza normalmente para obtener o recuperar algún tipo de información del servidor que no requiere ninguna manipulación o cambio en la base de datos, por ejemplo, obtener resultados de búsqueda basados en un término, obtener detalles del usuario basados en su id o nombre, etc.
Este documento proporciona una introducción a Ajax y demuestra algunas de las características del IDE de NetBeans que permiten programar más rápida y eficientemente cuando se trabaja con tecnologías relacionadas con Ajax. Mientras se aprende sobre la funcionalidad de bajo nivel de Ajax, se construye una aplicación sencilla que emplea el autocompletado en un campo de texto. El contenido aquí ha sido adaptado del artículo de Greg Murray y de la aplicación de ejemplo de Using Ajax with Java Technology.
Imagine una página web en la que un usuario puede buscar información sobre compositores musicales. La página incluye un campo donde el usuario puede introducir el nombre del compositor. En la aplicación de ejemplo, el campo de entrada tiene una función de autocompletar. En otras palabras, el usuario puede introducir parte del nombre del compositor y la aplicación web intenta completar el nombre enumerando todos los compositores cuyo nombre o apellido empiece con los caracteres introducidos. La función de autocompletar evita que el usuario tenga que recordar el nombre completo del compositor y puede proporcionar un camino más intuitivo y directo a la información buscada.
En resumen, AJAX consiste en actualizar partes de una página web sin tener que recargarla entera. Esto es bastante útil si tu sitio web es grande y complicado, no quieres que tus usuarios tengan que cargar la misma información varias veces.
En realidad, implementar AJAX no es difícil, pero es extraño. Se basa en la interacción de algunas tecnologías diferentes y requiere un poco de conocimiento de cada una. El objetivo de este tutorial no es que llegues al punto en el que puedas escribir brillantes chorradas de AJAX; sino que llegues a un punto en el que tengas suficiente conocimiento de AJAX como para poder comunicarte sobre él, ver dónde se puede utilizar, y tener una base sólida sobre la que puedas construir las habilidades técnicas que necesitarás para implementar realmente AJAX.
AJAX se basa en un montón de tecnologías. No tienes que ser un experto en todas ellas, pero un poco de conocimiento de fondo será útil. Si sabes cómo usar XML y JSON, y sabes lo que es un HTTP Post entonces siéntete libre de saltarte esta sección. Tenga en cuenta que esta es una explicación muy simplificada, hay mucho más en la interacción de las tecnologías mencionadas a continuación, y un montón de tecnologías que simplemente no voy a mencionar. Esto debería darte los antecedentes suficientes para que puedas entender AJAX.
A principios y mediados de los años 90, la mayoría de los sitios web se basaban en páginas HTML completas. Cada acción del usuario requería la carga de una nueva página completa desde el servidor. Este proceso era ineficaz, como se reflejaba en la experiencia del usuario: todo el contenido de la página desaparecía, y luego aparecía la nueva página. Cada vez que el navegador recargaba una página por un cambio parcial, había que volver a enviar todo el contenido, aunque sólo hubiera cambiado parte de la información. Esto suponía una carga adicional para el servidor y convertía el ancho de banda en un factor limitante del rendimiento.
En 1996, Internet Explorer introdujo la etiqueta iframe, que, al igual que el elemento object, puede cargar u obtener contenido de forma asíncrona. En 1998, el equipo de Microsoft Outlook Web Access desarrolló el concepto detrás del objeto de scripting XMLHttpRequest[4], que apareció como XMLHTTP en la segunda versión de la biblioteca MSXML,[4][5] que se incluyó en Internet Explorer 5.0 en marzo de 1999[6].
El término Ajax ha llegado a representar un amplio grupo de tecnologías web que pueden utilizarse para implementar una aplicación web que se comunica con un servidor en segundo plano, sin interferir con el estado actual de la página. En el artículo que acuñó el término Ajax,[1][3] Jesse James Garrett explicó que se incorporan las siguientes tecnologías: