SlideShare una empresa de Scribd logo
1 de 17
AE 3.1 – Exposiciones AJAX 
Joel Antonio Armendáriz 10410060 
Arturo Gallarzo Castillo 09410878 
19/NOV/2014
OBJETIVO 
Entender y exponer conceptos y ejemplos 
relacionados con AJAX. 
DESCRIPCIÓN 
Del tutorial en línea AJAX Ya (Enlaces a un sitio 
externo.) el maestro distribuirá los temas entre los 
alumnos de la siguiente manera:
RESULTADOS 
PASANDO DATOS AL SERVIDOR POR EL MÉTODO 
POST. 
 Podemos enviar los datos por el método GET, 
como hemos visto hasta ahora, pero también 
podemos enviar los datos por el método POST. 
 El método POST se utiliza cuando hay que enviar 
mucha información al servidor.
EJEMPLO 
<html> <head> <title>Problema</title> 
<script src="funciones.js" language="JavaScript"></script> 
</head> 
<body> <form action="pagina1.php" method="post" id="formulario"> Nombre:<input 
type="text" name="nombre" id="nombre" size="20"><br> Comentarios:<br> 
<textarea name="comentarios" id="comentarios" rows="10" 
cols="50"></textarea><br> 
<input type="submit" value="Enviar" id="enviar"> <div id="resultados"></div> 
<a href="comentarios.txt">Ver resultados</a> </form> </body> </html>
 addEvent(window,'load',inicializarEventos,false); 
 function inicializarEventos() 
 { 
 var ref=document.getElementById('formulario'); 
 addEvent(ref,'submit',enviarDatos,false); 
 } 
 function enviarDatos(e) 
 { 
 if (window.event) 
 window.event.returnValue=false; 
 else 
 if (e) 
 e.preventDefault(); 
 enviarFormulario(); 
 }
 function retornarDatos() 
 { 
 var cad=''; 
 var nom=document.getElementById('nombre').value; 
 var com=document.getElementById('comentarios').value; 
 
cad='nombre='+encodeURIComponent(nom)+'&comentarios='+encodeURICompo 
nent(com); 
 return cad; 
 } 
 var conexion1; 
 function enviarFormulario() 
 { 
 conexion1=crearXMLHttpRequest(); 
 conexion1.onreadystatechange = procesarEventos; 
 conexion1.open('POST','pagina1.php', true); 
 conexion1.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
 conexion1.send(retornarDatos()); 
 }
 function procesarEventos() 
 { 
 var resultados = 
document.getElementById("resultados"); 
 if(conexion1.readyState == 4) 
 { 
 resultados.innerHTML = 'Gracias.'; 
 } 
 else 
 { 
 resultados.innerHTML = 'Procesando...'; 
 } 
 }
 function addEvent(elemento,nomevento,funcion,captura) 
 { 
 if (elemento.attachEvent) 
 { 
 elemento.attachEvent('on'+nomevento,funcion); 
 return true; 
 } 
 else 
 if (elemento.addEventListener) 
 { 
 elemento.addEventListener(nomevento,funcion,captura); 
 return true; 
 } 
 else 
 return false; 
 } 
 function crearXMLHttpRequest() 
 { 
 var xmlHttp=null; 
 if (window.ActiveXObject) 
 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
 else 
 if (window.XMLHttpRequest) 
 xmlHttp = new XMLHttpRequest(); 
 return xmlHttp; 
 }
 <?php header('Content-Type: text/html; 
charset=ISO-8859-1'); 
$ar=fopen("comentarios.txt","a") or die("No se pudo 
abrir el archivo"); 
fputs($ar,"Nombre:".$_REQUEST['nombre']."n"); 
fputs($ar,"Comentarios:".$_REQUEST['comentarios 
']."nn"); fclose($ar); ?>
RECUPERANDO DATOS MEDIANTE LA PROPIEDAD 
RESPONSETEXT DEL OBJETO XMLHTTPREQUEST 
Ahora nos concentraremos en la propiedad 
responseText del objeto XMLHttpRequest. Esta 
propiedad almacena el valor devuelto por el servidor. 
Normalmente accederemos a la propiedad 
responseText cuando el objeto XMLHttpRequest nos 
informa que toda la información fue remitida por el 
servidor, esto ocurre cuando la propiedad readyState del 
objeto XMLHttpRequest almacena el valor 4.
EL PROBLEMA CONSISTE EN MOSTRAR UNA LISTA DE HIPERVÍNCULOS QUE 
REPRESENTAN LOS COMENTARIOS DE DISTINTAS FECHA. EL OBJETIVO ES RESCATAR 
TODOS LOS COMENTARIOS PARA LA FECHA SELECCIONADA POR EL VISITANTE Y SU POSTERIOR 
VISUALIZACIÓN SIN TENER QUE RECARGAR NUEVAMENTE LA PÁGINA. 
<html> <head> <title>Problema</title> 
<script src="funciones.js" language="JavaScript"></script> 
<link rel="StyleSheet" href="estilos.css" type="text/css"> 
</head> <body> <h2>Seleccione la fecha:</h2> <p> <div id="fecha"> 
<a href="pagina1.php?fecha=10/03/2007">ver comentarios del 10/03/2007</a><br> 
<a href="pagina1.php?fecha=11/03/2007">ver comentarios del 11/03/2007</a><br> 
<a href="pagina1.php?fecha=12/03/2007">ver comentarios del 12/03/2007</a><br> 
</div> <div class="recuadro" id="comentarios">Comentarios:</div> </body> 
Estilos.css 
background-color:#ffffcc; 
text-align:left; 
font-family:verdana; 
border-width:0; 
padding:5px; 
border: 1px dotted #ffaa00; }
addEvent(window,'load',inicializarEventos,false); 
function inicializarEventos() 
{ var ref; ref=document.getElementById('fecha'); 
var vec=ref.getElementsByTagName('a'); 
for(f=0;f<vec.length;f++) { 
addEvent(vec[f],'click',presionEnlace,false); } } 
function presionEnlace(e) { if (window.event) 
{ window.event.returnValue=false; 
var url=window.event.srcElement.getAttribute('href'); 
verComentarios(url); } else if (e) 
{ e.preventDefault(); 
var url=e.target.getAttribute('href'); 
verComentarios(url); } } 
var conexion1; function verComentarios(url) 
{ if(url=='') { return; } conexion1=crearXMLHttpRequest(); 
conexion1.onreadystatechange = procesarEventos; 
conexion1.open("GET", url, true); conexion1.send(null); } 
function procesarEventos() { 
var detalles = document.getElementById("comentarios"); 
if(conexion1.readyState == 4) 
{ detalles.innerHTML = conexion1.responseText; } 
else { detalles.innerHTML = 'Cargando...'; 
} }
RECUPERANDO DATOS MEDIANTE LA PROPIEDAD 
RESPONSEXML DEL OBJETO XMLHTTPREQUEST 
La propiedad responseXML a diferencia de la 
propiedad responseText recupera los datos como 
XML y debemos recorrerlo mediante las funciones 
del DOM. 
Es necesario que el programa que se ejecute en el 
servidor estructure los datos en formato XML. 
 DOM Document Object Model es un conjunto de 
utilidades específicamente diseñadas para 
manipular documentos XML
EJEMPLO 
 Para probar el funcionamiento de esta propiedad del objeto XMLHttpRequest implementaremos una página que muestre en un control select los nombres de una serie de paises. 
Cuando se seleccione uno y se presione un botón recuperaremos de dicho pais el nombre de la capital, su superficie, cantidad de habitantes y su idioma. 
<html> 
<head> 
<title>Problema</title> 
<script src="funciones.js" language="JavaScript"></script> 
</head> 
<body> 
<h1>Datos de paises.</h1> 
<p>Seleccione el pais 
<select id="pais"> 
<option value="0" selected>seleccione</option> 
<option value="Argentina">Argentina</option> 
<option value="Brasil">Brasil</option> 
<option value="Chile">Chile</option> 
</select><br> 
<input type="button" id="boton1" value="Recuperar"> 
</p> 
<div id="resultados"> 
</div> 
</body> 
</html>
addEvent(window,'load',inicializarEventos,false); 
function inicializarEventos() 
{ 
var ob=document.getElementById('boton1'); 
addEvent(ob,'click',presionBoton,false); 
} 
function presionBoton(e) 
{ 
var ob1=document.getElementById('pais'); 
recuperarDatos(ob1.value); 
} 
var conexion1; 
function recuperarDatos(pais) 
{ 
conexion1=crearXMLHttpRequest(); 
conexion1.onreadystatechange = procesarEventos; 
conexion1.open('GET','pagina1.php?pa='+pais, true); 
conexion1.send(null); 
} 
function procesarEventos() 
{ 
var resultados = document.getElementById("resultados"); 
if(conexion1.readyState == 4) 
{ 
var xml = conexion1.responseXML; 
var capital=xml.getElementsByTagName('capital'); 
var superficie=xml.getElementsByTagName('superficie'); 
var idioma=xml.getElementsByTagName('idioma'); 
var poblacion=xml.getElementsByTagName('poblacion'); 
resultados.innerHTML='Capital='+capital[0].firstChild.nodeValue + '<br>' + 
'Superficie='+superficie[0].firstChild.nodeValue + '<br>' + 
'Idioma='+idioma[0].firstChild.nodeValue + '<br>' + 
'Poblacion='+poblacion[0].firstChild.nodeValue ; 
} 
else 
{ 
resultados.innerHTML = 'Cargando...'; 
} 
} 
function addEvent(elemento,nomevento,funcion,captura) 
{ 
if (elemento.attachEvent) 
{ 
elemento.attachEvent('on'+nomevento,funcion); 
return true; 
} 
else 
if (elemento.addEventListener) 
{ 
elemento.addEventListener(nomevento,funcion,captura); 
return true; 
} 
else 
return false; 
} 
function crearXMLHttpRequest() 
{ 
var xmlHttp=null; 
if (window.ActiveXObject) 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
else 
if (window.XMLHttpRequest) 
xmlHttp = new XMLHttpRequest(); 
return xmlHttp; 
}
CONCLUSIONES 
 Concluimos que con la realización de este trabajo 
aprendimos acerca de cómo funciona ajax 
La dificultad de esta actividad fue comprender los 
ejemplos y poder utilizarlos. 
Tiempo de realización fue de 3hrs.
REFERENCIAS 
 http://www.ajaxya.com.ar/ 
 http://www.ajaxya.com.ar/temarios/descripcion.php 
?cod=12&punto=7 
 http://www.ajaxya.com.ar/temarios/descripcion.php 
?cod=13&punto=8 
 http://www.ajaxya.com.ar/temarios/descripcion.php 
?cod=16&punto=9

Más contenido relacionado

La actualidad más candente

tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.comoctabio
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquerykaolong
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajaxjubacalo
 
jQuery
jQueryjQuery
jQueryCoya14
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSPjubacalo
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo BasicMario IC
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web HtmlJose Ponce
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundojubacalo
 
Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPDanii Rodriguez
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaDavid J. Brenes
 

La actualidad más candente (18)

JQuery-Tema 1
JQuery-Tema 1JQuery-Tema 1
JQuery-Tema 1
 
Introduccion a Jquery
Introduccion a JqueryIntroduccion a Jquery
Introduccion a Jquery
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
 
Julissa huaman hilari
Julissa huaman hilariJulissa huaman hilari
Julissa huaman hilari
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajax
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
jQuery
jQueryjQuery
jQuery
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Development Odoo Basic
Development Odoo BasicDevelopment Odoo Basic
Development Odoo Basic
 
Jquery
JqueryJquery
Jquery
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web Html
 
Fundamentos de CSS
Fundamentos de CSSFundamentos de CSS
Fundamentos de CSS
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 
Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSP
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
 
Codigos para html
Codigos para htmlCodigos para html
Codigos para html
 
Insert
InsertInsert
Insert
 

Destacado

Destacado (20)

Nicolai Hartmann
Nicolai HartmannNicolai Hartmann
Nicolai Hartmann
 
Som Energia
Som EnergiaSom Energia
Som Energia
 
CURRÍCULO CONOCIMIENTO DEL MEDIO
CURRÍCULO CONOCIMIENTO DEL MEDIOCURRÍCULO CONOCIMIENTO DEL MEDIO
CURRÍCULO CONOCIMIENTO DEL MEDIO
 
Estefanía garcía palacios
Estefanía garcía palaciosEstefanía garcía palacios
Estefanía garcía palacios
 
Informatica 3
Informatica 3Informatica 3
Informatica 3
 
funcionamiento del notebook
funcionamiento del notebookfuncionamiento del notebook
funcionamiento del notebook
 
Proceso lineal y proceso intermitente
Proceso lineal y proceso intermitenteProceso lineal y proceso intermitente
Proceso lineal y proceso intermitente
 
Spañol
SpañolSpañol
Spañol
 
Caries
Caries Caries
Caries
 
La ultima morada Zona Prohibida
La ultima morada Zona ProhibidaLa ultima morada Zona Prohibida
La ultima morada Zona Prohibida
 
Rcp en bebés
Rcp en bebésRcp en bebés
Rcp en bebés
 
Dennisse quintero comer ext
Dennisse quintero comer extDennisse quintero comer ext
Dennisse quintero comer ext
 
Dossier de arte. El renacimiento.
Dossier de arte. El renacimiento.Dossier de arte. El renacimiento.
Dossier de arte. El renacimiento.
 
operacion de plantas Petroquímicas
operacion de plantas Petroquímicasoperacion de plantas Petroquímicas
operacion de plantas Petroquímicas
 
Bocas
BocasBocas
Bocas
 
Rescastistas power
Rescastistas powerRescastistas power
Rescastistas power
 
Diplomado planificador de proyectos 4 5
Diplomado planificador de proyectos 4   5Diplomado planificador de proyectos 4   5
Diplomado planificador de proyectos 4 5
 
Propuesta de un ambiente de aprendizaje
Propuesta de un ambiente de aprendizajePropuesta de un ambiente de aprendizaje
Propuesta de un ambiente de aprendizaje
 
PASO A PASO DE FLICKR.COM
PASO A PASO DE FLICKR.COMPASO A PASO DE FLICKR.COM
PASO A PASO DE FLICKR.COM
 
Saude.agua
Saude.aguaSaude.agua
Saude.agua
 

Similar a Ajax (20)

Unidad3ajax
Unidad3ajaxUnidad3ajax
Unidad3ajax
 
Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicket
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Anthony saravia documentacion-php
Anthony saravia documentacion-phpAnthony saravia documentacion-php
Anthony saravia documentacion-php
 
Curso de HTML5
Curso de HTML5Curso de HTML5
Curso de HTML5
 
Php excel
Php excelPhp excel
Php excel
 
Php
PhpPhp
Php
 
Funciones
FuncionesFunciones
Funciones
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
6.angular js
6.angular js6.angular js
6.angular js
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
En 20 minutos ... jQuery
En 20 minutos ... jQueryEn 20 minutos ... jQuery
En 20 minutos ... jQuery
 
Jacqueline nuñez pacco
Jacqueline nuñez paccoJacqueline nuñez pacco
Jacqueline nuñez pacco
 
Aprendiendo PHP
Aprendiendo PHPAprendiendo PHP
Aprendiendo PHP
 
Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6Introducción al desarrollo Web: Frontend con Angular 6
Introducción al desarrollo Web: Frontend con Angular 6
 
Phonegap
PhonegapPhonegap
Phonegap
 
Examen 2° grado primer bimestre
Examen 2° grado primer bimestreExamen 2° grado primer bimestre
Examen 2° grado primer bimestre
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de Platzi
 

Ajax

  • 1. AE 3.1 – Exposiciones AJAX Joel Antonio Armendáriz 10410060 Arturo Gallarzo Castillo 09410878 19/NOV/2014
  • 2. OBJETIVO Entender y exponer conceptos y ejemplos relacionados con AJAX. DESCRIPCIÓN Del tutorial en línea AJAX Ya (Enlaces a un sitio externo.) el maestro distribuirá los temas entre los alumnos de la siguiente manera:
  • 3. RESULTADOS PASANDO DATOS AL SERVIDOR POR EL MÉTODO POST.  Podemos enviar los datos por el método GET, como hemos visto hasta ahora, pero también podemos enviar los datos por el método POST.  El método POST se utiliza cuando hay que enviar mucha información al servidor.
  • 4. EJEMPLO <html> <head> <title>Problema</title> <script src="funciones.js" language="JavaScript"></script> </head> <body> <form action="pagina1.php" method="post" id="formulario"> Nombre:<input type="text" name="nombre" id="nombre" size="20"><br> Comentarios:<br> <textarea name="comentarios" id="comentarios" rows="10" cols="50"></textarea><br> <input type="submit" value="Enviar" id="enviar"> <div id="resultados"></div> <a href="comentarios.txt">Ver resultados</a> </form> </body> </html>
  • 5.  addEvent(window,'load',inicializarEventos,false);  function inicializarEventos()  {  var ref=document.getElementById('formulario');  addEvent(ref,'submit',enviarDatos,false);  }  function enviarDatos(e)  {  if (window.event)  window.event.returnValue=false;  else  if (e)  e.preventDefault();  enviarFormulario();  }
  • 6.  function retornarDatos()  {  var cad='';  var nom=document.getElementById('nombre').value;  var com=document.getElementById('comentarios').value;  cad='nombre='+encodeURIComponent(nom)+'&comentarios='+encodeURICompo nent(com);  return cad;  }  var conexion1;  function enviarFormulario()  {  conexion1=crearXMLHttpRequest();  conexion1.onreadystatechange = procesarEventos;  conexion1.open('POST','pagina1.php', true);  conexion1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  conexion1.send(retornarDatos());  }
  • 7.  function procesarEventos()  {  var resultados = document.getElementById("resultados");  if(conexion1.readyState == 4)  {  resultados.innerHTML = 'Gracias.';  }  else  {  resultados.innerHTML = 'Procesando...';  }  }
  • 8.  function addEvent(elemento,nomevento,funcion,captura)  {  if (elemento.attachEvent)  {  elemento.attachEvent('on'+nomevento,funcion);  return true;  }  else  if (elemento.addEventListener)  {  elemento.addEventListener(nomevento,funcion,captura);  return true;  }  else  return false;  }  function crearXMLHttpRequest()  {  var xmlHttp=null;  if (window.ActiveXObject)  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  else  if (window.XMLHttpRequest)  xmlHttp = new XMLHttpRequest();  return xmlHttp;  }
  • 9.  <?php header('Content-Type: text/html; charset=ISO-8859-1'); $ar=fopen("comentarios.txt","a") or die("No se pudo abrir el archivo"); fputs($ar,"Nombre:".$_REQUEST['nombre']."n"); fputs($ar,"Comentarios:".$_REQUEST['comentarios ']."nn"); fclose($ar); ?>
  • 10. RECUPERANDO DATOS MEDIANTE LA PROPIEDAD RESPONSETEXT DEL OBJETO XMLHTTPREQUEST Ahora nos concentraremos en la propiedad responseText del objeto XMLHttpRequest. Esta propiedad almacena el valor devuelto por el servidor. Normalmente accederemos a la propiedad responseText cuando el objeto XMLHttpRequest nos informa que toda la información fue remitida por el servidor, esto ocurre cuando la propiedad readyState del objeto XMLHttpRequest almacena el valor 4.
  • 11. EL PROBLEMA CONSISTE EN MOSTRAR UNA LISTA DE HIPERVÍNCULOS QUE REPRESENTAN LOS COMENTARIOS DE DISTINTAS FECHA. EL OBJETIVO ES RESCATAR TODOS LOS COMENTARIOS PARA LA FECHA SELECCIONADA POR EL VISITANTE Y SU POSTERIOR VISUALIZACIÓN SIN TENER QUE RECARGAR NUEVAMENTE LA PÁGINA. <html> <head> <title>Problema</title> <script src="funciones.js" language="JavaScript"></script> <link rel="StyleSheet" href="estilos.css" type="text/css"> </head> <body> <h2>Seleccione la fecha:</h2> <p> <div id="fecha"> <a href="pagina1.php?fecha=10/03/2007">ver comentarios del 10/03/2007</a><br> <a href="pagina1.php?fecha=11/03/2007">ver comentarios del 11/03/2007</a><br> <a href="pagina1.php?fecha=12/03/2007">ver comentarios del 12/03/2007</a><br> </div> <div class="recuadro" id="comentarios">Comentarios:</div> </body> Estilos.css background-color:#ffffcc; text-align:left; font-family:verdana; border-width:0; padding:5px; border: 1px dotted #ffaa00; }
  • 12. addEvent(window,'load',inicializarEventos,false); function inicializarEventos() { var ref; ref=document.getElementById('fecha'); var vec=ref.getElementsByTagName('a'); for(f=0;f<vec.length;f++) { addEvent(vec[f],'click',presionEnlace,false); } } function presionEnlace(e) { if (window.event) { window.event.returnValue=false; var url=window.event.srcElement.getAttribute('href'); verComentarios(url); } else if (e) { e.preventDefault(); var url=e.target.getAttribute('href'); verComentarios(url); } } var conexion1; function verComentarios(url) { if(url=='') { return; } conexion1=crearXMLHttpRequest(); conexion1.onreadystatechange = procesarEventos; conexion1.open("GET", url, true); conexion1.send(null); } function procesarEventos() { var detalles = document.getElementById("comentarios"); if(conexion1.readyState == 4) { detalles.innerHTML = conexion1.responseText; } else { detalles.innerHTML = 'Cargando...'; } }
  • 13. RECUPERANDO DATOS MEDIANTE LA PROPIEDAD RESPONSEXML DEL OBJETO XMLHTTPREQUEST La propiedad responseXML a diferencia de la propiedad responseText recupera los datos como XML y debemos recorrerlo mediante las funciones del DOM. Es necesario que el programa que se ejecute en el servidor estructure los datos en formato XML.  DOM Document Object Model es un conjunto de utilidades específicamente diseñadas para manipular documentos XML
  • 14. EJEMPLO  Para probar el funcionamiento de esta propiedad del objeto XMLHttpRequest implementaremos una página que muestre en un control select los nombres de una serie de paises. Cuando se seleccione uno y se presione un botón recuperaremos de dicho pais el nombre de la capital, su superficie, cantidad de habitantes y su idioma. <html> <head> <title>Problema</title> <script src="funciones.js" language="JavaScript"></script> </head> <body> <h1>Datos de paises.</h1> <p>Seleccione el pais <select id="pais"> <option value="0" selected>seleccione</option> <option value="Argentina">Argentina</option> <option value="Brasil">Brasil</option> <option value="Chile">Chile</option> </select><br> <input type="button" id="boton1" value="Recuperar"> </p> <div id="resultados"> </div> </body> </html>
  • 15. addEvent(window,'load',inicializarEventos,false); function inicializarEventos() { var ob=document.getElementById('boton1'); addEvent(ob,'click',presionBoton,false); } function presionBoton(e) { var ob1=document.getElementById('pais'); recuperarDatos(ob1.value); } var conexion1; function recuperarDatos(pais) { conexion1=crearXMLHttpRequest(); conexion1.onreadystatechange = procesarEventos; conexion1.open('GET','pagina1.php?pa='+pais, true); conexion1.send(null); } function procesarEventos() { var resultados = document.getElementById("resultados"); if(conexion1.readyState == 4) { var xml = conexion1.responseXML; var capital=xml.getElementsByTagName('capital'); var superficie=xml.getElementsByTagName('superficie'); var idioma=xml.getElementsByTagName('idioma'); var poblacion=xml.getElementsByTagName('poblacion'); resultados.innerHTML='Capital='+capital[0].firstChild.nodeValue + '<br>' + 'Superficie='+superficie[0].firstChild.nodeValue + '<br>' + 'Idioma='+idioma[0].firstChild.nodeValue + '<br>' + 'Poblacion='+poblacion[0].firstChild.nodeValue ; } else { resultados.innerHTML = 'Cargando...'; } } function addEvent(elemento,nomevento,funcion,captura) { if (elemento.attachEvent) { elemento.attachEvent('on'+nomevento,funcion); return true; } else if (elemento.addEventListener) { elemento.addEventListener(nomevento,funcion,captura); return true; } else return false; } function crearXMLHttpRequest() { var xmlHttp=null; if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); return xmlHttp; }
  • 16. CONCLUSIONES  Concluimos que con la realización de este trabajo aprendimos acerca de cómo funciona ajax La dificultad de esta actividad fue comprender los ejemplos y poder utilizarlos. Tiempo de realización fue de 3hrs.
  • 17. REFERENCIAS  http://www.ajaxya.com.ar/  http://www.ajaxya.com.ar/temarios/descripcion.php ?cod=12&punto=7  http://www.ajaxya.com.ar/temarios/descripcion.php ?cod=13&punto=8  http://www.ajaxya.com.ar/temarios/descripcion.php ?cod=16&punto=9