Aprender AJAX – Hola Mundo!

AJAX es una tecnologia que nos permite muchas cosas, en el transcurso de una serie de 3 a 5 articulos les voy a enseñar aspectos basicos y medio-avanzados de esta tecnolgia.

En este articulo les voy a explicar cosas basicas de AJAX y ejemplos basicos y en siguientes articulos les mostrare mas cosas.

AJAX significa Asynchronous Javascript and XML, osea Javascript y XML asincrono, entendamos que tambien HTML es de alguna forma XML.

Bueno las posibilidades de AJAX principalmente son cargar contenido de otros archivos en el archivo principal, y siempre es necesario estar en un entorno de servidor web, en mi caso yo trabajo con LAMPP, pero la base de los navegadores web es Apache.

El problema que intenta resolver AJAX es evitar que se recarguen los contenidos, por ejemplo, en una aplicacion web normal cada vez que se ejecuta una accion mediante enlaces o formularios se recurre a operaciones POST o GET y hay recargas de pagina.

Con AJAX se garantiza que para el envio y recepcion de datos no se crearan conexiones que interrumpan la conexion principal, sino que se crean peticiones que pueden alterar total o parcialmente el contenido de la pagina principal, pero sin recargar la pagina.

No se si me entendieron, un ejemplo clasico seria en facebook, cuando publicamos un estado se publica el estado y se guardan los datos, pero nunca se recarga toda la pagina, tambien cuando le damos Like a alguna publicacion, no se recarga la pagina, sin embargo en esas operaciones estan sucediendo peticiones al servidor web que son transparentes para nosotros.

Hay 2 forma de usar AJAX, sincrono y asincrono, por el momento usaremos AJAX sincrono y llegado el momento hablaremos de AJAX asincrono.

Ejercicio

Para este ejercicio usaremos 3 archivos:

  • index.php – Es el archivo principal, aqui se cuenta con los botones para accionar el llamado a las paginas, el contenedor para mostrar los archivos y el codigo Javascript para darle funcion a los botones.
  • page1.php – Es la pagina 1, esta pagina se puede modificar el contenido por lo que ustedes quieran.
  • page2.php – Es la pagina 2, esta pagina se puede modificar el contenido por lo que ustedes quieran.

Archivo index.php

Visto esto, el codigo que da vida al AJAX es lo siguiente:


xhr = new XMLHttpRequest();
xhr.open("GET","page1.php",false);
xhr.send();

La funcion xhr.open tiene como parametros:

  1. El tipo de peticion, puede ser GET o POST
  2. La url a la que se va a realizar la peticion.
  3. Un valor booleano para especificar si la peticion es asincrona, true= asincrona, false= sincrona.

Luego hacemos el llamado a xhr.send() que se encarga de enviar la peticion, la funcion send tiene como parametros, los datos extra que querramos enviar, esto lo veremos mas adelante.

Por ultimo recibimos la respuesta o el contenido del archivo mediante xhr.responseText, tambien es posible conocer si la peticion se ejecuto correctamente haciendo if(xhr.status==200){}

Codigo Fuente

Les dejo los archivos de codigo fuente en el siguiente link:

Conclusion

No queda mas que invitarles a hacer pruebas, cambiar valores y obtener sus propios resultados, en este articulo no toque toda la teoria de AJAX pero les aseguro que se las mostrare poco a poco.

Les invito a que me sigan apoyando con sus Likes, comentarios y suscripciones a mi canal de youtube https://youtube.com/evilnapsis/

Tambien se pueden suscribir al blog en la seccion de “Suscribete a mi Blog”, recuerda debes insertar tu email y luego te llegara un mensaje a tu correo para que confirmes tu suscripcion.

De verdad les agradezco mucho el apoyo que me brindan, Saludos.

 

Posted by Agustin Ramos

Soy un apasionado desarrollador de software, ingeniero, creativo, geek, me gusta crear proyectos open source, y dar cursos sobre programacion, soy fundador de InFlask Solutions una empresa donde vendo licencias comerciales de mi software.

  1. pedro mendizabal ibergallartu Jan 17, 2017 at 11:16 pm

    Clarificador, muchísimas gracias !

    Reply

    1. Espero haberte ayudado, saludos!

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.