AJAX, acrónimo de Asynchronous JavaScript And XML (Javascript asíncrono y XML), es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (Rich Internet Applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicación asíncrona
con el servidor en segundo plano. De esta forma es posible realizar
cambios sobre las páginas sin necesidad de recargarlas, mejorando la
interactividad, velocidad y usabilidad en las aplicaciones. Ajax es una tecnología asíncrona, en el sentido de que los datos adicionales se solicitan al servidor y se cargan en segundo plano sin interferir con la visualización ni el comportamiento de la página, aunque existe la posibilidad de configurar las peticiones como síncronas de tal forma que la interactividad de la página se detiene hasta la espera de la respuesta por parte del servidor.
Tecnologías incluidas en Ajax
Ajax es una combinación de cuatro tecnologías ya existentes:- XHTML (o HTML) y hoja de estilos en cascada (CSS) para el diseño que acompaña a la información.
- Document Object Model (DOM) accedido con un lenguaje de scripting por parte del usuario, especialmente implementaciones Ecma script como Javascript y JScript, para mostrar e interactuar dinámicamente con la información presentada.
- El objeto XMLhttpRequest para intercambiar datos de forma asíncrona con el servidor web. En algunos frameworks y en algunas situaciones concretas, se usa un objeto iframe en lugar del XMLHttpRequest para realizar dichos intercambios. PHP es un lenguaje de programación de uso general de script del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico también utilizado en el método Ajax.
- XML es el formato usado generalmente para la transferencia de datos solicitados al servidor, aunque cualquier formato puede funcionar, incluyendo HTML preformateado, texto plano, Json.
Ejemplo sencillo:
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
todo dentro de una etiqueta de script en una estructura de html5 normal.
El método
$.ajax es configurado a través de un objeto, el
cual contiene todas las instrucciones que necesita jQuery para completar
la petición. Dicho método es particularmente útil debido a que ofrece
la posibilidad de especificar acciones en caso que la petición haya
fallado o no.
En caso que no quiera utilizar el método
$.ajax, y no
necesite los controladores de errores, existen otros métodos más
convenientes para realizar peticiones Ajax (aunque, como se indicó
antes, estos están basados el método $.ajax con valores pre-establecidos de configuración).
Los métodos que provee la biblioteca son:
$.getRealiza una petición GET a una URL provista.$.postRealiza una petición POST a una URL provista.$.getScriptAñade un script a la página.$.getJSONRealiza una petición GET a una URL provista y espera que un dato JSON sea devuelto.


