SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Manual de ajax en
español By
“ajaxman”
Usando ajax mediante el método
get para realizar peticiones de
manera transparente

Ajax y el objeto XMLHttpRequest

Escrito por Javier
16/07/2007
Manual de ajax en español By “ajaxman”                    2007



Ajax.

El 18 de Febrero de 2005, Jesse James Garrett, director de Estrategia
para la experiencia del usuario y fundador de Adaptive Path, publico un
artículo al cual se refería a ajax como:

Ajax: Un Nuevo acercamiento a las Aplicaciones Web

Exactamente se refería a una nueva forma de ver las aplicaciones web,
ya no como sitios dinámicos, si no además como sitios interactivos,
como la posibilidad de cargar paginas dinámicamente, sin tener que
recargar toda la pagina (como un iframe), que es uno de los logros
fundamentales de ajax.

Algo que debe quedar claro es que ajax no es una tecnología, un
modulo de apache, un script, una extensión, si no es más bien una
mezcla de tecnologías, que permiten crear aplicaciones web, increíbles
y dinámicas.




                     Modelo Clásico Modelo Ajax
Manual de ajax en español By “ajaxman”                  2007



Ajax viene de la palabra Asynchronous JavaScript And XML, aunque
también se podría referirse uno a este término como AJAH, AJAP, AJAJ,
AJAA, Etc.

Traduciéndolo al español podremos decir que se trata de una mezcla
de tecnologías:

      Uso de estándares XHTML y CSS
      Uso del Document Object Model(DOM)
      Interacción de datos usando XML, XSLT, HTML, hasta JS y Paginas
       Dinámicas (ASP, PHP, CGI, PYTHON, NET, Etc.).
      Y lo indispensable JAVASCRIPT, para juntar y organizar todo.

Ahora bien vayamos por partes.

¿Cómo demonios se usa ajax?

Para poder empezar a escribir páginas web con ajax, deberías cumplir
con algunos requisitos básicos:

      Saber usar HTML
      CSS (que no es tan indispensable pero necesario)
      Javascript, básico
      y de preferencia el saber manejar mínimamente algún lenguaje
       de programación web como PHP, .NET, PYTHON, Etc.

Veremos a continuación como se crea una aplicación usando el
modelo Ajax.

Primero necesitaremos hacer una página web que puede estar en un
servidor local o remoto, esta la haremos en html.

Pagina_dinamica.html

_________________________________________________________________

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>
<title>Mi primer Script con Ajax</title>
<script language=”JavaScript” type=”text/javascript”>
/*<![CDATA[*/
function _Ajax()
{
Manual de ajax en español By “ajaxman”                        2007



}
/*]]>*/
</script>
</head>
<body>
<form action=”javascript:_Ajax();” method=”get”>
<input name=”nombre” id=”nombre” type=”text”/>
<input type=”button” name=”aceptar” value=”Aceptar”
onclick=”_Ajax();”/>
</form>
<div id=”resultado”>
</div>
</body>
</html>

____________________________________________________________________

Ahora vamos por partes, primero necesitamos agregarle a nuestra
página web, un formulario con un quot;actionquot; a quot;javascriptquot;, esto es
necesario porque, cuando alguien le da quot;enterquot; y es el ultimo o único
campo del formulario este se envía a la pagina que este, indicada en el
action, por eso si, el action es un javascript, el formulario se enviara a la
función.

<form action=”javascript:_Ajax();” method=”get”>

Después, creamos un campo de tipo texto, con un id, recordemos que
para poder implementar ajax, hay que saber identificar, la estructura
básica del DOM.

<input name=”nombre” id=”nombre” type=”text”/>

Y por ultimo un input, de tipo botón.

<input type=”button” name=”aceptar” value=”Aceptar”
onclick=”_Ajax();”/>

Al cual, no es necesario agregarle un id, y le asignamos, un evento
quot;onclickquot;, con el cual llamamos a una función, en este caso no es
necesario agregarle parámetros, pues no los necesita.

Recordemos que para el nombre de la función no es necesario que se
llame _ajax, se puede llamar de cualquier forma, sin embargo es mejor
nombrarla, con algún nombre que caracterice su funcionamiento.

Generamos la función que de momento, no tendrá mas contenido que
este:
Manual de ajax en español By “ajaxman”                  2007



function _Ajax()
{

}

Para poder hacer peticiones remotas, es necesario del uso de un
objeto, el XMLHttpRequest, que a pesar de ser un estándar no está bien
implementado en algunos navegadores como, Internet Explorer, por ello
es necesario hacer una función que genere correctamente este objeto.

function XMLHttp(){
var Object;
if (typeof XMLHttpRequest == “undefined” )
{
if(navigator.userAgent.indexOf(”MSIE 5″) >= 0)
{ Object= new ActiveXObject(”Microsoft.XMLHTTP”);}
else
{ Object=new ActiveXObject(”Msxml2.XMLHTTP”);}
}
else
{ Object=new XMLHttpRequest();}
return Object;
}

y después lo instanciamos, de la siguiente manera,

var ajax=XMLHttp();

Pero ¿Que quiere decir el código que acabamos de escribir?.

Vayamos por partes, el corazón de una petición remota, en este caso
de ajax, se utiliza el objeto XMLHttpRequest, sin embargo, este objeto
solo está definido en navegadores basados en netscape, como Mozilla,
Firefox, Camino, Minimo(Navegador de Mozilla para Celular).

Y en navegadores, con motor de Internet Explorer, no está
implementado este objeto nativamente, por ello es necesario crear una
función que revise el tipo de navegador, y en base a ello nos dé el
objeto correcto, de lo contrario, crear una nueva instancia de un objeto
XMLHttpRequest sería tan fácil como:

var ajax=new XMLHttpRequest();

Ahora veamos línea por línea lo que realiza nuestro script.

function XMLHttp(){ //Con esto creamos la función XMLHttp(no es
necesario que se llame así)
Manual de ajax en español By “ajaxman”                    2007



var Object; //Agregamos la variable llamada objeto
if (typeof XMLHttpRequest == “undefined” ) //revisamos si no esta
definido el objeto nativamente(navegadores tipo mozilla)

{if(navigator.userAgent.indexOf(”MSIE 5″) >= 0) //Ahora revisamos si el
motor es mayor o igual a MSIE 5.0 (mayor que microsoft internet explorer
5.0)

{ Object= new ActiveXObject(”Microsoft.XMLHTTP”);}// Si es así creamos
un control activeX apartir de un objeto
ActiveXObject(”Microsoft.XMLHTTP”)

else //si no , o si es menor a MSIE 5.0 creamos otro control activeX

{ Object=new ActiveXObject(”Msxml2.XMLHTTP”);} // apartir de un
objeto ActiveXObject(”Msxml2.XMLHTTP”)

}
else // en cambio si el objeto estaba definido nativamente, solo lo
instanciamos

{ Object=new XMLHttpRequest();} //Instancia del objeto XMLHttpRequest

return Object; // Y retornamos el objeto creado

}

Y después solo lo instanciamos una variable apartir de la función como
mencione al final de el código de la función.

También podemos definirlo mediante operadores ternarios, y minimizar
el código el cual quedaría de la siguiente forma:

if ( typeof XMLHttpRequest == “undefined” )
XMLHttpRequest = function(){
return new ActiveXObject(
navigator.userAgent.indexOf(”MSIE 5″) >= 0 ?
“Microsoft.XMLHTTP” : “Msxml2.XMLHTTP”
);
};

y para instanciarlo seria de la siguiente manera:

var ajax=new XMLHttpRequest();

Ahora creamos la función que se encargara de hacer la petición a la
otra página web:
Manual de ajax en español By “ajaxman”                 2007



function _Ajax()
{
var nombre=document.getElementById(’nombre’).value;
ajax.open(”GET”,”datos_get.php?nombre=”+nombre,true);
ajax.onreadystatechange=function(){
if(ajax.readyState==4)
{
var respuesta=ajax.responseText;
document.getElementById(’resultado’).innerHTML=respuesta;
}
}
ajax.send(null);
}

Veamos los puntos importantes de la función anterior:

El nombre de la función:

function _Ajax()

Obtenemos el valor del campo, el cual esta referenciado por un id, esta
es una de las formas mas rápidas para acceder a un elemento en
especifico, el cual puede ser un div, una celda, un campo de texto,
etc…;

var nombre=document.getElementById(’nombre’).value;

Nota: Esta forma de acceder al DOM, funciona bien en la mayoría de
navegadores, aunque en Navegadores con motor basado en Internet
Explorer, se puede utilizar una función alternativa.

var nombre=document.all(’nombre’).value;

Esto sucede porque en Internet Explorer 6 aun hacen referencia al DOM
de nivel 1 y con el metodo getElementById se hace referencia la DOM
de nivel 2.

Ahora vayamos a ver la siguiente línea de código:

ajax.open(”GET”,”datos_get.php?nombre=”+nombre,true);

El objeto ajax tiene una serie de métodos, que harán posible que
nuestra aplicación funcione, el primer método se llama open y abre una
conexión entre nuestra página web y otra pagina(en este caso, la
pagina se llama datos_get.php), este método usa 3 parámetros,

   1. Método de envió de datos, GET o POST
Manual de ajax en español By “ajaxman”                      2007



   2. El segundo parámetro es la pagina a la cual deseamos
      conectarnos, esta puede o no llevar datos, por ejemplo si usamos
      un método get, puede ser necesario envía variables, por este
      medio, si es por post, no es necesario.
   3. Y por ultimo un valor booleano para saber si al conexión será
      Asíncrona o síncrona, y se define con las palabras reservadas o
      valores, true o false.

Al realizar una petición ajax es necesario revisar el estado en el que está
en objeto, esto se refiere a , preguntar si la pagina que pedimos se
cargo, si ajax aun está enviando datos, esperado respuesta, o si la
pagina devuelta existe, entre otros.

En este caso debemos de referirnos al método onreadystatechange, de
la siguiente forma:

ajax.onreadystatechange=function(){alert(”revisando el estado del
objeto ajax”);}

Con este método nos referimos a una función la cual revisara el estado
del objeto ajax, el cual consta de 5 estados.

   1.   No inicializado
   2.   Conexión establecida
   3.   Recibiendo respuesta
   4.   Procesando respuesta
   5.   Finalizado

Se pude comprobar estado por estado la petición, pero para nuestro
ejemplo no es necesario, veamos la función a detalle:

ajax.onreadystatechange=function(){
if(ajax.readyState==4)
{
var respuesta=ajax.responseText;
document.getElementById(’resultado’).innerHTML=respuesta;
}
}

Con el método onreadystatechange generamos una función que
comprueba si el estado es igual a 4, mediante el metodo
ajax.readyState, (si se ha finalizado la petición), y posteriormente
creamos una variable, llamada respuesta, la cual contiene la pagina
solicitada, esta respuesta puede venir de dos formas.

ajax.responseText;
Manual de ajax en español By “ajaxman”                  2007



ajax.responseXML;

El primero se refiere a que la respuesta será procesada como texto, por
ejemplo si pedimos una pagina html, o php, asp, etc se puede utilizar
este tipo de respuesta, sin embargo, si la pagina recibida es una XML es
necesario usar la segunda opción.

La línea de código que sigue, simplemente le dice a javascript que
inserte la respuesta en un elemento de la pagina web referenciado por
algún id, puede ser una tabla, un textarea, una celda, un div, etc.

document.getElementById(’resultado’).innerHTML=respuesta;

Esta inserción se realiza mediante el método innerHTML, el cual también
trabaja de dos formas.

document.getElementById(’resultado’).innerHTML=respuesta;

document.getElementById(’resultado’).innerText=respuesta;

Con la primera opción, la pagina que, hemos solicitado, se insertara
como HTML, esto es si hemos recibido formularios, imágenes, etc.; Si lo
que recibimos es solo texto , es recomendable usar innerText.

El ultimo método usado es.

ajax.send(null);

Este método permite enviar variables, cuando utilizamos el método post
para enviar datos, si en cambio se usa el método get, simplemente se
concatenan la variables al nombre de la pagina (como lo vimos en el
método ajax.open) .

En este caso enviaremos, null, ya que no es necesario enviar más datos.

Ahora creamos la página datos_get.php

<?php

echo $_GET[’nombre’] ;

?>

_______________________________

y listo, ya tenemos nuestra primera aplicación con ajax, a la vez que
aprendimos de donde salió todo este rollo de ajax.
Manual de ajax en español By “ajaxman”                   2007




Puede encontrar este y otros artículos además de más información en la
página web de www.Ajaxman.net

Más contenido relacionado

La actualidad más candente

Manual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcomManual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcomjo_ram
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQueryContinuum
 
jQuery
jQueryjQuery
jQueryCoya14
 
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
 
Tutorial de persistencia de java
Tutorial de persistencia de javaTutorial de persistencia de java
Tutorial de persistencia de javaCarlos Anrango
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSPjubacalo
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0WendyMendez30
 
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
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2Steven Gomez
 

La actualidad más candente (20)

Ajax Huancayo
Ajax HuancayoAjax Huancayo
Ajax Huancayo
 
Manual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcomManual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcom
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
Introduccion a Jquery
Introduccion a JqueryIntroduccion a Jquery
Introduccion a Jquery
 
Ajax
AjaxAjax
Ajax
 
jQuery
jQueryjQuery
jQuery
 
Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajax
 
Guia indexeddb
Guia indexeddbGuia indexeddb
Guia indexeddb
 
Guia indexeddb
Guia indexeddbGuia indexeddb
Guia indexeddb
 
Tutorial de persistencia de java
Tutorial de persistencia de javaTutorial de persistencia de java
Tutorial de persistencia de java
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
JQuery-Tema 1
JQuery-Tema 1JQuery-Tema 1
JQuery-Tema 1
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Curso Jsp
Curso JspCurso Jsp
Curso Jsp
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0
 
Carreno programacion
Carreno  programacionCarreno  programacion
Carreno programacion
 
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
 
Codigos para html
Codigos para htmlCodigos para html
Codigos para html
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 

Destacado

Introduccion a DOM y AJAX - Javier Oliver Fulguera
Introduccion a DOM y AJAX  -  Javier Oliver FulgueraIntroduccion a DOM y AJAX  -  Javier Oliver Fulguera
Introduccion a DOM y AJAX - Javier Oliver FulgueraJavier Oliver Fulguera
 
Introducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: AjaxIntroducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: AjaxDavid Arango
 

Destacado (7)

Manual Ajax con jquery
Manual Ajax con jqueryManual Ajax con jquery
Manual Ajax con jquery
 
introduccion a Ajax
introduccion a Ajaxintroduccion a Ajax
introduccion a Ajax
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Introduccion a DOM y AJAX - Javier Oliver Fulguera
Introduccion a DOM y AJAX  -  Javier Oliver FulgueraIntroduccion a DOM y AJAX  -  Javier Oliver Fulguera
Introduccion a DOM y AJAX - Javier Oliver Fulguera
 
Introducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: AjaxIntroducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
 
AJAX
AJAXAJAX
AJAX
 
JavaScript desde Cero
JavaScript desde CeroJavaScript desde Cero
JavaScript desde Cero
 

Similar a Manual De Ajax En Espanol

Ajax
AjaxAjax
Ajaxutpl
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkitpabloesp
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncronaLaura Folgado Galache
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibalesbriant pati
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibalesbriant pati
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibalessbriant pati
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js IntroduccionMayer Horna
 
Que es AJAX
Que es AJAXQue es AJAX
Que es AJAXITSTB
 
SALUDOS EN INGLES
SALUDOS EN INGLESSALUDOS EN INGLES
SALUDOS EN INGLESludiviarosa
 

Similar a Manual De Ajax En Espanol (20)

Presentacion ajax
Presentacion   ajaxPresentacion   ajax
Presentacion ajax
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Inicios Ajax
Inicios AjaxInicios Ajax
Inicios Ajax
 
Ajax
AjaxAjax
Ajax
 
Expo
ExpoExpo
Expo
 
Ajax
AjaxAjax
Ajax
 
Capitulo 4.7 prog iii
Capitulo 4.7 prog iiiCapitulo 4.7 prog iii
Capitulo 4.7 prog iii
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 
Javascript de Canibales
Javascript de CanibalesJavascript de Canibales
Javascript de Canibales
 
Java Script de canibaless
Java Script de canibalessJava Script de canibaless
Java Script de canibaless
 
Ajax
AjaxAjax
Ajax
 
01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
 
Que es AJAX
Que es AJAXQue es AJAX
Que es AJAX
 
Asp
AspAsp
Asp
 
SALUDOS EN INGLES
SALUDOS EN INGLESSALUDOS EN INGLES
SALUDOS EN INGLES
 
PHP+Ajax
PHP+AjaxPHP+Ajax
PHP+Ajax
 

Más de Rommel Gutierrez Roa (9)

ISummit Seguridad en Redes Inalambricas
ISummit Seguridad en Redes InalambricasISummit Seguridad en Redes Inalambricas
ISummit Seguridad en Redes Inalambricas
 
Open Innovation
Open InnovationOpen Innovation
Open Innovation
 
Pruebas Para Proporciones (Rommel Gutierrez)
Pruebas Para Proporciones (Rommel Gutierrez)Pruebas Para Proporciones (Rommel Gutierrez)
Pruebas Para Proporciones (Rommel Gutierrez)
 
Programacion Php
Programacion PhpProgramacion Php
Programacion Php
 
Algebra
AlgebraAlgebra
Algebra
 
Algebra Lineal
Algebra LinealAlgebra Lineal
Algebra Lineal
 
Chile Curriculo Matematicas Tics
Chile Curriculo Matematicas TicsChile Curriculo Matematicas Tics
Chile Curriculo Matematicas Tics
 
Programacion en PHP
Programacion en PHPProgramacion en PHP
Programacion en PHP
 
Formulario De Integrales
Formulario De IntegralesFormulario De Integrales
Formulario De Integrales
 

Último

ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Último (20)

ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

Manual De Ajax En Espanol

  • 1. Manual de ajax en español By “ajaxman” Usando ajax mediante el método get para realizar peticiones de manera transparente Ajax y el objeto XMLHttpRequest Escrito por Javier 16/07/2007
  • 2. Manual de ajax en español By “ajaxman” 2007 Ajax. El 18 de Febrero de 2005, Jesse James Garrett, director de Estrategia para la experiencia del usuario y fundador de Adaptive Path, publico un artículo al cual se refería a ajax como: Ajax: Un Nuevo acercamiento a las Aplicaciones Web Exactamente se refería a una nueva forma de ver las aplicaciones web, ya no como sitios dinámicos, si no además como sitios interactivos, como la posibilidad de cargar paginas dinámicamente, sin tener que recargar toda la pagina (como un iframe), que es uno de los logros fundamentales de ajax. Algo que debe quedar claro es que ajax no es una tecnología, un modulo de apache, un script, una extensión, si no es más bien una mezcla de tecnologías, que permiten crear aplicaciones web, increíbles y dinámicas. Modelo Clásico Modelo Ajax
  • 3. Manual de ajax en español By “ajaxman” 2007 Ajax viene de la palabra Asynchronous JavaScript And XML, aunque también se podría referirse uno a este término como AJAH, AJAP, AJAJ, AJAA, Etc. Traduciéndolo al español podremos decir que se trata de una mezcla de tecnologías:  Uso de estándares XHTML y CSS  Uso del Document Object Model(DOM)  Interacción de datos usando XML, XSLT, HTML, hasta JS y Paginas Dinámicas (ASP, PHP, CGI, PYTHON, NET, Etc.).  Y lo indispensable JAVASCRIPT, para juntar y organizar todo. Ahora bien vayamos por partes. ¿Cómo demonios se usa ajax? Para poder empezar a escribir páginas web con ajax, deberías cumplir con algunos requisitos básicos:  Saber usar HTML  CSS (que no es tan indispensable pero necesario)  Javascript, básico  y de preferencia el saber manejar mínimamente algún lenguaje de programación web como PHP, .NET, PYTHON, Etc. Veremos a continuación como se crea una aplicación usando el modelo Ajax. Primero necesitaremos hacer una página web que puede estar en un servidor local o remoto, esta la haremos en html. Pagina_dinamica.html _________________________________________________________________ <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <title>Mi primer Script con Ajax</title> <script language=”JavaScript” type=”text/javascript”> /*<![CDATA[*/ function _Ajax() {
  • 4. Manual de ajax en español By “ajaxman” 2007 } /*]]>*/ </script> </head> <body> <form action=”javascript:_Ajax();” method=”get”> <input name=”nombre” id=”nombre” type=”text”/> <input type=”button” name=”aceptar” value=”Aceptar” onclick=”_Ajax();”/> </form> <div id=”resultado”> </div> </body> </html> ____________________________________________________________________ Ahora vamos por partes, primero necesitamos agregarle a nuestra página web, un formulario con un quot;actionquot; a quot;javascriptquot;, esto es necesario porque, cuando alguien le da quot;enterquot; y es el ultimo o único campo del formulario este se envía a la pagina que este, indicada en el action, por eso si, el action es un javascript, el formulario se enviara a la función. <form action=”javascript:_Ajax();” method=”get”> Después, creamos un campo de tipo texto, con un id, recordemos que para poder implementar ajax, hay que saber identificar, la estructura básica del DOM. <input name=”nombre” id=”nombre” type=”text”/> Y por ultimo un input, de tipo botón. <input type=”button” name=”aceptar” value=”Aceptar” onclick=”_Ajax();”/> Al cual, no es necesario agregarle un id, y le asignamos, un evento quot;onclickquot;, con el cual llamamos a una función, en este caso no es necesario agregarle parámetros, pues no los necesita. Recordemos que para el nombre de la función no es necesario que se llame _ajax, se puede llamar de cualquier forma, sin embargo es mejor nombrarla, con algún nombre que caracterice su funcionamiento. Generamos la función que de momento, no tendrá mas contenido que este:
  • 5. Manual de ajax en español By “ajaxman” 2007 function _Ajax() { } Para poder hacer peticiones remotas, es necesario del uso de un objeto, el XMLHttpRequest, que a pesar de ser un estándar no está bien implementado en algunos navegadores como, Internet Explorer, por ello es necesario hacer una función que genere correctamente este objeto. function XMLHttp(){ var Object; if (typeof XMLHttpRequest == “undefined” ) { if(navigator.userAgent.indexOf(”MSIE 5″) >= 0) { Object= new ActiveXObject(”Microsoft.XMLHTTP”);} else { Object=new ActiveXObject(”Msxml2.XMLHTTP”);} } else { Object=new XMLHttpRequest();} return Object; } y después lo instanciamos, de la siguiente manera, var ajax=XMLHttp(); Pero ¿Que quiere decir el código que acabamos de escribir?. Vayamos por partes, el corazón de una petición remota, en este caso de ajax, se utiliza el objeto XMLHttpRequest, sin embargo, este objeto solo está definido en navegadores basados en netscape, como Mozilla, Firefox, Camino, Minimo(Navegador de Mozilla para Celular). Y en navegadores, con motor de Internet Explorer, no está implementado este objeto nativamente, por ello es necesario crear una función que revise el tipo de navegador, y en base a ello nos dé el objeto correcto, de lo contrario, crear una nueva instancia de un objeto XMLHttpRequest sería tan fácil como: var ajax=new XMLHttpRequest(); Ahora veamos línea por línea lo que realiza nuestro script. function XMLHttp(){ //Con esto creamos la función XMLHttp(no es necesario que se llame así)
  • 6. Manual de ajax en español By “ajaxman” 2007 var Object; //Agregamos la variable llamada objeto if (typeof XMLHttpRequest == “undefined” ) //revisamos si no esta definido el objeto nativamente(navegadores tipo mozilla) {if(navigator.userAgent.indexOf(”MSIE 5″) >= 0) //Ahora revisamos si el motor es mayor o igual a MSIE 5.0 (mayor que microsoft internet explorer 5.0) { Object= new ActiveXObject(”Microsoft.XMLHTTP”);}// Si es así creamos un control activeX apartir de un objeto ActiveXObject(”Microsoft.XMLHTTP”) else //si no , o si es menor a MSIE 5.0 creamos otro control activeX { Object=new ActiveXObject(”Msxml2.XMLHTTP”);} // apartir de un objeto ActiveXObject(”Msxml2.XMLHTTP”) } else // en cambio si el objeto estaba definido nativamente, solo lo instanciamos { Object=new XMLHttpRequest();} //Instancia del objeto XMLHttpRequest return Object; // Y retornamos el objeto creado } Y después solo lo instanciamos una variable apartir de la función como mencione al final de el código de la función. También podemos definirlo mediante operadores ternarios, y minimizar el código el cual quedaría de la siguiente forma: if ( typeof XMLHttpRequest == “undefined” ) XMLHttpRequest = function(){ return new ActiveXObject( navigator.userAgent.indexOf(”MSIE 5″) >= 0 ? “Microsoft.XMLHTTP” : “Msxml2.XMLHTTP” ); }; y para instanciarlo seria de la siguiente manera: var ajax=new XMLHttpRequest(); Ahora creamos la función que se encargara de hacer la petición a la otra página web:
  • 7. Manual de ajax en español By “ajaxman” 2007 function _Ajax() { var nombre=document.getElementById(’nombre’).value; ajax.open(”GET”,”datos_get.php?nombre=”+nombre,true); ajax.onreadystatechange=function(){ if(ajax.readyState==4) { var respuesta=ajax.responseText; document.getElementById(’resultado’).innerHTML=respuesta; } } ajax.send(null); } Veamos los puntos importantes de la función anterior: El nombre de la función: function _Ajax() Obtenemos el valor del campo, el cual esta referenciado por un id, esta es una de las formas mas rápidas para acceder a un elemento en especifico, el cual puede ser un div, una celda, un campo de texto, etc…; var nombre=document.getElementById(’nombre’).value; Nota: Esta forma de acceder al DOM, funciona bien en la mayoría de navegadores, aunque en Navegadores con motor basado en Internet Explorer, se puede utilizar una función alternativa. var nombre=document.all(’nombre’).value; Esto sucede porque en Internet Explorer 6 aun hacen referencia al DOM de nivel 1 y con el metodo getElementById se hace referencia la DOM de nivel 2. Ahora vayamos a ver la siguiente línea de código: ajax.open(”GET”,”datos_get.php?nombre=”+nombre,true); El objeto ajax tiene una serie de métodos, que harán posible que nuestra aplicación funcione, el primer método se llama open y abre una conexión entre nuestra página web y otra pagina(en este caso, la pagina se llama datos_get.php), este método usa 3 parámetros, 1. Método de envió de datos, GET o POST
  • 8. Manual de ajax en español By “ajaxman” 2007 2. El segundo parámetro es la pagina a la cual deseamos conectarnos, esta puede o no llevar datos, por ejemplo si usamos un método get, puede ser necesario envía variables, por este medio, si es por post, no es necesario. 3. Y por ultimo un valor booleano para saber si al conexión será Asíncrona o síncrona, y se define con las palabras reservadas o valores, true o false. Al realizar una petición ajax es necesario revisar el estado en el que está en objeto, esto se refiere a , preguntar si la pagina que pedimos se cargo, si ajax aun está enviando datos, esperado respuesta, o si la pagina devuelta existe, entre otros. En este caso debemos de referirnos al método onreadystatechange, de la siguiente forma: ajax.onreadystatechange=function(){alert(”revisando el estado del objeto ajax”);} Con este método nos referimos a una función la cual revisara el estado del objeto ajax, el cual consta de 5 estados. 1. No inicializado 2. Conexión establecida 3. Recibiendo respuesta 4. Procesando respuesta 5. Finalizado Se pude comprobar estado por estado la petición, pero para nuestro ejemplo no es necesario, veamos la función a detalle: ajax.onreadystatechange=function(){ if(ajax.readyState==4) { var respuesta=ajax.responseText; document.getElementById(’resultado’).innerHTML=respuesta; } } Con el método onreadystatechange generamos una función que comprueba si el estado es igual a 4, mediante el metodo ajax.readyState, (si se ha finalizado la petición), y posteriormente creamos una variable, llamada respuesta, la cual contiene la pagina solicitada, esta respuesta puede venir de dos formas. ajax.responseText;
  • 9. Manual de ajax en español By “ajaxman” 2007 ajax.responseXML; El primero se refiere a que la respuesta será procesada como texto, por ejemplo si pedimos una pagina html, o php, asp, etc se puede utilizar este tipo de respuesta, sin embargo, si la pagina recibida es una XML es necesario usar la segunda opción. La línea de código que sigue, simplemente le dice a javascript que inserte la respuesta en un elemento de la pagina web referenciado por algún id, puede ser una tabla, un textarea, una celda, un div, etc. document.getElementById(’resultado’).innerHTML=respuesta; Esta inserción se realiza mediante el método innerHTML, el cual también trabaja de dos formas. document.getElementById(’resultado’).innerHTML=respuesta; document.getElementById(’resultado’).innerText=respuesta; Con la primera opción, la pagina que, hemos solicitado, se insertara como HTML, esto es si hemos recibido formularios, imágenes, etc.; Si lo que recibimos es solo texto , es recomendable usar innerText. El ultimo método usado es. ajax.send(null); Este método permite enviar variables, cuando utilizamos el método post para enviar datos, si en cambio se usa el método get, simplemente se concatenan la variables al nombre de la pagina (como lo vimos en el método ajax.open) . En este caso enviaremos, null, ya que no es necesario enviar más datos. Ahora creamos la página datos_get.php <?php echo $_GET[’nombre’] ; ?> _______________________________ y listo, ya tenemos nuestra primera aplicación con ajax, a la vez que aprendimos de donde salió todo este rollo de ajax.
  • 10. Manual de ajax en español By “ajaxman” 2007 Puede encontrar este y otros artículos además de más información en la página web de www.Ajaxman.net