XHTML DINAMICO AVANZADO - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

XHTML DINAMICO AVANZADO

Description:

XHTML DINAMICO AVANZADO (AJAX Y DOM) AJAX. Conceptos y fundamentos b sicos. Patrones de Ajax ... son nombre='HTML din mico avanzado (Ajax y DOM)', fechainicio ... – PowerPoint PPT presentation

Number of Views:120
Avg rating:3.0/5.0
Slides: 19
Provided by: ua83
Category:

less

Transcript and Presenter's Notes

Title: XHTML DINAMICO AVANZADO


1
  • XHTML DINAMICO AVANZADO
  • (AJAX Y DOM)

2
AJAX
  • Conceptos y fundamentos bĆ”sicos
  • Patrones de Ajax
  • Ejemplos prĆ”cticos.
  • LibrerĆ­as estĆ”ndares

3
BibliografĆ­a
  • Ajax in Practice
  • Visual Quickstart Guide CSS, DHTML, and Ajax,
    Fourth Edition
  • DHTML Utopia. Modern Web Design Using JavaScript
    DOM
  • Ajax Un Nuevo acercamiento a las Aplicaciones
    Web
  • http//www.ajaxhispano.com/ajax-nuevo-acercamiento
    -aplicaciones-web.html
  • El objeto XMLHttpRequest
  • http//www.programacionweb.net/articulos/articulo/
    ?num386

4
Paso de parƔmetros (GET)
  • En la peticiĆ³n AJAX podemos pasar parĆ”metros
    tanto por POST como por GET a nuestro servidor.
  • Para pasar parĆ”metros por GET ( por URL ) ,
    usaremos una URL con parĆ”metros en la funciĆ³n
    open independientemente de usar el mƩtodo GET o
    POST, por ejemplo
  • oXMLHttp.open('GET',Ā 'pagina.php?parametro'Ā Ā esc
    ape(parametro))Ā 

5
setRequestHeader (mƩtodo)
  • El mĆ©todo setRequestHeader aƱade un encabezado
    HTTP a la peticiĆ³n HTTP a travĆ©s del objeto
    XMLHttpRequest.
  • UtilizaciĆ³n oXMLHttpRequest.setRequestHeader (
    sNombre, sValor)
  • sNombre - Nombre del encabezado HTTP.
  • sValor - Valor del encabezado HTTP.
  • El parametro sNombre no podrĆ” ser Accept-Charset,
    Accept-Encoding, Content-Length, Expect, Date,
    Host, Keep-Alive, Referer, TE, Trailer,
    Transfer-Encoding ni Upgrade, tampoco podrĆ”
    contener espacios, puntos o saltos de lĆ­nea.
  • El parametro sValor no podrĆ” contener saltos de
    lĆ­nea.
  • Solo podemos utilizar setRequestHeader cuando
    el valor de readyState sea 1.

6
Paso de parƔmetros (POST)
  • Para pasarlos por POST, deberemos usar el mĆ©todo
    POST en la funciĆ³n open, configurar el tipo de
    informaciĆ³n que enviamos y por Ćŗltimo pasamos los
    parĆ”metros desde la funciĆ³n send, veamos un
    ejemplo
  • oXMLHttp.open('POST','pagina.php')Ā 
  • try
  • oXMLHttp.setRequestHeader("Content-Type",
  • "application/x-www-form-urlencoded")
  • catch (e)
  • oXMLHttp.send(Ā 'parametro'Ā Ā escape(parametro))Ā 

7
2Āŗ Ejemplo. Paso de parĆ”metros
  • Vamos a pasar 3 parĆ”metros a un ASP que
    simplemente devuelve las variables que han
    llegado por mƩtodo GET o POST
  • Los parĆ”metros son nombreHTML dinĆ”mico avanzado
    (Ajax y DOM), fechainicio"16/10/2007 y
    fechafin"24/10/2007"
  • Los pasos a seguir serĆ­an los siguientes
  • Crear el objeto
  • Establecer la comunicaciĆ³n con el servidor
    usando AJAX.
  • Si es con el mĆ©todo GET adjuntar los parĆ”metros a
    la direcciĆ³n
  • Hacer la peticiĆ³n
  • Si es el mĆ©todo POST, especifica quĆ© tipo de
    datos llegarƔn al servidor
  • El servidor nos prepararĆ” y devolverĆ” una
    informaciĆ³n
  • Si todo es correcto mostrar la informaciĆ³n
    devuelve
  • Traspaso de datos

http//127.0.0.1/ajax/ej2/index.html
8
status (atributo)
  • El atributo statusText devuelve el cĆ³digo del
    estado HTTP de la transmisiĆ³n devuelto por el
    servidor web.
  • UtilizaciĆ³n iEstado oXMLHttpRequest.status
  • iEstado - Entero con el cĆ³digo HTTP de estado.
  • La propiedad status e utiliza para comprobar
    que no ha habido problemas en la comunicaciĆ³n con
    el servidor, podremos acceder a los datos siempre
    y cuando el estado de la conexiĆ³n devuelto con
    readyStatechange sea igual a 3 (recibiendo) o 4
    (a punto).
  • El cĆ³digo de estado HTTP para una transmisiĆ³n
    correcta es el 200, serĆ” conveniente comprobar
    este dato antes de acceder a los datos con
    responseXML o responseText.

9
status (atributo)
  • 100 Continua
  • 101 Cambio de protocolo
  • 200 OK
  • 201 Creado
  • 202 Aceptado
  • 203 InformaciĆ³n no oficial
  • 204 Sin Contenido
  • 205 Contenido para reset
  • 206 Contenido parcial
  • 300 MĆŗlpiples posibilidades
  • 301 Mudado permanentemente
  • 302 Encontrado
  • 303 Vea otros
  • 304 No modificado
  • 305 Utilice un proxy
  • 307 RedirecciĆ³n temporal
  • 400 Solicitud incorrecta
  • 401 No autorizado
  • 402 Pago requerido

405 MĆ©todo no permitido 406 No aceptable 407
Proxy requerido 408 Tiempo de espera agotado 409
Conflicto 410 No mapas disponible 411 Requiere
longitud 412 FallĆ³ precondiciĆ³n 413 Entidad de
solicitud demasiado larga 414 URI de solicitud
demasiado largo 415 Tipo de medio no
soportado 416 Rango solicitado no disponible 417
FallĆ³ expectativa 500 Error interno 501 No
implementado 502 Pasarela incorrecta 503 Servicio
no disponible 504 Tiempo de espera de la pasarela
agotado 505 VersiĆ³n de HTTP no soportada
10
3Āŗ Ejemplo. Llamar a una pĆ”gina que no existe
  • Vamos a llamar a una pĆ”gina noexiste.asp y vamos
    a ver que nos envƭa el objeto. QuƩ ocurrirƔ si
    llamamos a oXMLHttp.responseTextĀ ?
  • Los pasos a seguir serĆ­an los siguientes
  • Crear el objeto
  • Establecer la comunicaciĆ³n con el servidor usando
    AJAX.
  • Hacer la peticiĆ³n
  • El servidor nos prepararĆ” y devolverĆ” una
    informaciĆ³n
  • Si el cĆ³digo es 404 mostrar un mensaje de que no
    existe la pƔgina
  • Si el cĆ³digo es de error (ltgt200) entonces
    mostramos el cĆ³digo
  • Si todo es correcto entonces mostrar la respuesta
  • Control de errores

http//127.0.0.1/ajax/ej3/index.html
11
4Āŗ Ejemplo. Devolver datos de Access
  • Disponemos de una base de datos Access,
    usuarios.mdb, que contiene una tabla Alumnos.
  • Crear una pĆ”gina HTML con un enlace y un
    textarea, que al pulsar haga una llamada a un ASP
    que consulte todos los alumnos, devuelva los
    datos y los inserte en el campo textarea el
    listado de todos los alumnos.
  • Consulta en una base de datos
  • Traspaso de diferentes campos en una llamada

http//127.0.0.1/ajax/ej4/index.html
12
5Āŗ Ejemplo. Servicios y acciones
  • Disponemos de una base de datos Access,
    edificios.mdb, que contiene dos tablas Edificio y
    Unidad.
  • Crear una pĆ”gina HTML con dos desplegables, uno
    para los edificios y otro para las unidades de
    ese edificio. Al pulsar un edificio, se hace una
    llamada que consulta en un APS
  • Concepto de Servicios
  • Devolver cĆ³digo Javascript
  • Uso de tipos de eventos

http//127.0.0.1/ajax/ej5/index.html
13
6Āŗ Ejemplo. Mejorando el ejemplo anterior
  • El objetivo del ejercicio es mejorar el 5Āŗ
    ejercicio.
  • Consulta de los edificios desde la base de datos
  • ConversiĆ³n del fichero de HTML a ASP
  • Organizar cĆ³digo
  • Clase cXMLHttpRequest.js
  • acciones.js
  • GestiĆ³n en array de todos los objetos
    cXMLHttpRequest
  • Pasar un parĆ”metro a la funciĆ³n que gestiona lo
    que llega de la peticiĆ³n AJAX
  • Liberar todos los objetos
  • Concepto de bloqueos
  • ReutilizaciĆ³n de cĆ³digo

http//127.0.0.1/ajax/ej6/index.asp
14
7Āŗ Ejemplo. Noticias dinĆ”micas
  • Disponemos de una base de datos Access,
    noticias.mdb, que contiene una tabla con noticia.
  • Vamos a crear un tablĆ³n dinĆ”mico de
  • noticias en la pĆ”gina Plantilla HTML que se ha
    dejado como material.
  • Cada 10 segundos se escoge aleatoriamente una
    noticia y se actualiza en la secciĆ³n
    correspondiente de la pƔgina
  • Uso de temporizadores
  • ModificaciĆ³n de contenido en etiquetas

15
innerHTML (Javascript)
  • innerHTML sirve para "escribir" dentro de un
    elemento HTMLPor ejemplo, si tienes un div
    ltdiv id"pepe"gtlt/divgtPuedes utilizar este
    cĆ³digo para poner algo dentrodocument.getElemen
    tById('pepe').innerHTML 'Hola, soy yo'

16
setTimeout (Javascript)
  • Esta funciĆ³n crea un temporizador el cual dispara
    un reloj con los milisegundos que indicamos. Al
    cumplirse el tiempo indicado se ejecuta el cĆ³digo
    que le hayamos indicado.
  • var identificador setTimeout("expresiĆ³n-javascri
    pt",milisegundos)
  • La funciĆ³n devuelve un identificador cada vez que
    se ejecuta. Este nĆŗmero podemos almacenarlo en
    una variable para utilizarlo posteriormente en
    otros mƩtodos (por ejemplo clearTimeout()).

17
clearTimeout (Javascript)
  • Su efecto es el de detener la ejecuciĆ³n de un
    temporizador lanzado con setTimeout.
  • clearTimeout (identificador)

18
Generar un nĆŗmero aleatorio (ASP)
  • Randomize
  • Necesario antes de llamar a Rnd() para conseguir
    que los nĆŗmeros no se repitan.
  • Rnd(Ā )
  • Genera un nĆŗmero, pseudo aleatorio, entre 0 y 1.
  • Debe apoyarse en Randomize para evitar que se
    repita.
Write a Comment
User Comments (0)
About PowerShow.com