Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Jaxon/conceptos

Medio:Ejemplo.ogg

Qué es Ajax
AJAX, siglas que referncian a JavaScript y XML Asíncrono.


 * En el proceso vemos que hay una serie de pasos o acciones

Imagen:funcionamiento_ajax.png
 * 1) Cliente solicita algo (evento javascript que hace una solicitud al servidor)
 * 2) El servidor recibe la solicitud y empaqueta datos en formato xml que entrega al cliente
 * 3) El cliente recibe los datos y con ellos se actualiza parte de la página
 * En la imagen siguiente podemos ver el proceso de la relaciónentre cliente y servidor

Dónde se espcefician el código para que esto funcione
Siempre que usemos esta tecnología necesitamos que los mismos elementos estén en acción
 * Realmente esta es una cuestión que hay que pensar un momento para no crear confusión


 * Este escenario lo podemos implementar con diferentes tecnologías.
 * Como hemos visto anteriormente lo que nos faltaría es saber como se comunia cliente servidor y servidor cliente para enviar/recibir la solicud/datos
 * Como vemos en la imagen la comunicación entre cliente y servidor utiliza un objeto XMLHttpRequest
 * Para facilitar el trabajo de acceder directamente al objeto, se utilizan framework como nos ofrece jquery, react, vue, ...
 * También hay librerías que desde php podemos establecer este escenario
 * Nosotros vamos a hacerlo con jaxon una librería que actualiza xajax proyecto que se abandonó ante la nueva versión de php 7.x

Jaxon

 * La página la tenemos en


 * Una vez instalado vemos que en el directorio actual ha creado una carpeta jaxon-php/jaxon-core donde se ubica todos los fuentes de nuestra librería
 * Vamos a ver su funcionamiento práctico, si bien tenemos muchas funcionalidades incluso podemos usar jquery como un método del objeto jaxon, pero para eso, personalmente pienso que es mejor usar jquery o bien nuevos y más potentes framworks como Vue o React.

Usando jaxon en nuestro proyecto

 * Vamos a separar todo en ficheros independientes

1.-La parte del servidor 2.-La parte del cliente
 * Para proceder en este proyecto hemos de implementar acciones tanto en el cliente como en el servidor
 * Este planteaminto es genérico o común independientemente de lo que usemos para construir el escenario 'ajax'

La parte del servidor

 * Iniciamos el objeto jaxon para preparar el entorno

La parte del cliente

 * Usando jaxon para escribir script en el cliente para que funcione la solicitud ajax
 * 1) 1.- primero preparamos el código javascript en la página del cliente
 * 2) 2.- Preparamos los métodos en el servidor que van a ser invocados por ajax
 * 3) 3.- Preparamos la solicitud en el cleinte y el espacio donde renderizar los datos que vengan del servidor

1.- primero preparamos el código javascript en la página del cliente

 * Si ejecutamos ahora el proyecto vemos que no sale nada ya que no hemos generado ninguna salida
 * Sin embargo si vemos el código fuente, podremos ver todo el código
 * Genera la siguiente salida

2.- Preparamos los métodos en el servidor que van a ser invocados por ajax

 * Creamos un fichero llamado RespuestaAjax.php, lo podríamos hacer en el mismo index.php, pero por separar en ficheros los contenidos

4.- Generemos los eventos en javascript para realizar las llamadas

 * Ahora simplemente lo que hacemos es crear un evento en java script para solicitar el evento del servidor
 * Por otro lado preparamos el espacio en el html del cliente donde queremos que se rendericen los datos que vengan del servidor
 * El código completo del cliente quedaría