Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/Jaxon/conceptos

De WikiEducator
Saltar a: navegación, buscar


Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg


Qué es Ajax

AJAX, siglas que referncian a JavaScript y XML Asíncrono.



Icon define.gif
Que es Ajax
  • Es una Tecnología que va a permitir que el cliente haga una solicitud de datos al servidor. Al ser recibida por el cliente, hace que éste actualice parte de la página desde donde se solicitó manteniendo intacta el resto de la misma.



Icon activity.jpg
Algunas precisiones
  • Ajax' más que una tecnología es una técnica que combina varias tecnologías existentes hace muchos muchos años
  1. HTML
  2. CSS
  3. DOM
  4. XMLHttpRequest
  5. XML
  6. Javascript




  • En el proceso vemos que hay una serie de pasos o acciones
  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

Funcionamiento ajax.png

Dónde se espcefician el código para que esto funcione

  • Realmente esta es una cuestión que hay que pensar un momento para no crear confusión

Siempre que usemos esta tecnología necesitamos que los mismos elementos estén en acción


Icon key points.gif

Escenario Ajax

  1. Evento de java script que va a hacer la solicitud
  2. Método en el servidor que atiende dicha solicitud
  3. El servidor entrega xml al cliente con el resultado de la solicitud
  4. El cliente renderiza parte de la página con los datos que recibe si procede


  • 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

Ajax cliente servidor.png

  • 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


Icon key points.gif

Instalción

  • Usando composer
composer require jaxon-php/jaxon-core:~2.0


  • 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

App1 ajax.png

  • 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


Icon activity.jpg
Actividad
  • Implementamos una aplicación con un formulario y una caja de texto
  • Si hacemos un click realizaremos una llamada ajax para que nos visualice el contenido de la caja de texto en máyúscula




HTML
PHP

}}