El pilar principal, la base fundamental, o bien como lo nombran en la w3schools, la piedra angular de AJAX es el objeto XMLHttpRequest, el cual es soportado por todos los navegadores modernos, al hablar de navegadores siempre hay gente preguntando por los mas viejitos, bien para ellos hay también una solución ActiveXObject , que está disponible para las versiones viejas de Internet explorer.
El Objeto XMLHttpRequest es utilizado para el intercambio de datos de manera asíncrona con el servidor, bien se preguntaran de que nos serviría esto, muy fácil. gracias a este objeto podemos realizar la recarga o actualización de porciones de nuestro sitio web sin tener que recargar toda la página, de esta forma brindando una experiencia de usuario mucho mas interactiva y rápida.
Para crear un Objeto XMLHttpRequest para IE7 + , Firefox , Chrome , Safari y Opera solo basta con teclear:
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
XMLHttpRequest=new XMLHttpRequest();
Y como habiamos dicho para las versiones viejas de los navegadores:
ActiveXObject=new ActiveXObject(«Microsoft.XMLHTTP»);
De esta forma sabemos cual objeto crear dependiendo el navegador que el usuario este usando.
Un ejemplo para realizar esta validación seria:
[cc lang=»javascript»]
var xmlhttp;
if (window.XMLHttpRequest)
{// IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{//E6, IE5
xmlhttp=new ActiveXObject(«Microsoft.XMLHTTP»);
}
[/cc]
Enviando Solicitudes al Servidor:
XMLHttpRequest consta con dos métodos importantes para llevar acabo solicitudes al servidor:
«open» y «send»:
[cc lang=»javascript»]
xmlhttp.open(«GET»,»archivo.txt»,true);
xmlhttp.send();
[/cc]
En el método open(); se especifica el tipo de solicitud ya sea GET o POST, las mismas manejadas toda la vida desde PHP, la url que deseamos procesar, como el archivo se encuentra en el mismo directorio solo colocamos el nombre, de lo contrario podemos especificar la ruta completa incluyendo los subdirectorios, en la url podemos establecer archivos de texto o XML, como también scripts (PHP, ASP) que se ejecuten del lado del servidor para realizar acciones antes de enviar una respuesta de vuelta al usuario por ultimo se especifica si la solicitud se realizara de forma asíncrona o no (true o false).
Por ultimo el método send(); envía la petición al servidor.
Pero Cual utilizar ¿GET o POST?
En la mayoría de los casos se podría utilizar GET teniendo en cuenta que este es mas simple y rápido, pero hay algunas consideraciones a tener en cuenta para estimar el uso de POST:
Actualización de la base de datos
Actualización de un fichero
Envío de Cantidades exorbitantes de información (POST no tiene limitantes)
POST es mas seguro y robusto.
En conclusión el envío de peticiones asíncronas al servidor desde nuestras aplicaciones web o mobile garantiza una ventaja frente a las que no implementan AJAX, ya que en el pasado se evidenciaba como las aplicaciones hacían Crash, intentando de resolver peticiones grandes en un servidor lento u ocupado, con AJAX el código JavaScript no tiene que esperar la respuesta del servidor permitiendo realizar otras acciones como ejecutar otros scripts a espera de esta respuesta.