View
256
Download
0
Embed Size (px)
Citation preview
7/26/2019 Manual de Ajax Completo
1/112
"#$#%& '( ') *+,- ./0/1- +2(%#3'(4&$ 5 /6)78#87&('$9:
;$8#
7/26/2019 Manual de Ajax Completo
2/112
7/26/2019 Manual de Ajax Completo
3/112
"#$%&'J(43 ,B?$"5 6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666F-$%&'()$9 ?$ (>:L% ?$ $9>1:3B1:B666666666666666666666666666666666666666666666666666666666666666666666666666666666666N
3$1M93:>(9 ?$ '%( (0":>(>:L% O$; :B%(" 66666666666666666666666666666666666666666666666666666666666666666666666NI1B;"$E(9 ?$ '%( (0":>(>:L% P$; >B%H$%>:B%(" 6666666666666666666666666666666666666666666666666666666666666666666666666666666666N/,
7/26/2019 Manual de Ajax Completo
4/112
U6N6Q I$3:>:L% ?$ >L?:&B *+,- B 3$23B66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666FYU6N6S I$3:>:L% ?$ "( ?:1$>>:L% ?$ '%( :E(&$% 666666666666666666666666666666666666666666666666666666666666666666666666666666666 FFU6N6U I$3:>:L% ?$ >L?:&B G(H(=>1:03 / "(%Z(1"B6 666666666666666666666666666666666666666666666666666666666666666666666666666666 F[
M2W P)#'?: $' '88:8'+22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222SCM2C H)8 +:9:80' ), 1+1)8%:2 2222222222222222222222222222222222222222222222222222222 2222222222222222222222222222222222222222222222222222222222222 22>K
,#6M42)& W= ;G'36)&$ 3O2M PQ0:$:+ aY;b X[Z; R &)8)&0'8'+ '+9'&%),'+ '# 5#0'8#'02222222222222222222222222222222222222222222222222222>S
Y6U6Q \%31B?'>>:L% ( "B9 E]3B?B9 !+ / ID=+6 6666666666666666666666666666666666666666666666666666666666666666666666666666666 NFY6U6S 3$1$9 $90$>:("$96 66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666NNY6U6U (E$%3$6 6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666 RUY6[6S ^'(1?(1 :%TB1E(>:L% ?$ :%%$1*+,- '9(%?B aGa86 6666666666666666666666666666666666666666666666666666666666R7
O2C H)8 %#E:8@)&%I# $%#_@%&)@'#0' 10%,%L)#$: ,:+ 'N'#0:+ R ', H[P2 2222222222222222222222222222222CCY6R6Q !)$E0"B Q b +(;"( 1$"(3:H( ( B31( 3(;"(6 666666666666666666666666666666666666666666666666666666666666666666666666666666QVVY6R6S !)$E0"B S b +(;"( 1$"(3:H( (" 0'%3$1B ?$" 1(3L%66666666666666666666666666666666666666666666666666666666666666QVU
O2FG /10: &:@9,'0)$: '@9,')#$: /A/B22222222222222222222222222222222222222222222222222222222222222222222222222222222222222222FG3
"7O)7&@
7/26/2019 Manual de Ajax Completo
5/112
J(4H^
Y+0' ,'# 6U;P( M2K=b R)V1' .1+&) 98:9:8&%:#)8 9_H ['14'($7O)' >#
7/26/2019 Manual de Ajax Completo
6/112
J(4&%')^
T1)#$: +' &)8
7/26/2019 Manual de Ajax Completo
7/112
H#$ FJ/ [F78_ J(4'
7/26/2019 Manual de Ajax Completo
8/112
!'()$ *#+,-
^1' $%+'e)$: 9)8) N'8 X',J&1,)+ 5#0'8)&0%N)+ )1#V1' )7:8) +' 10%,%L) @1&7: 9)8)7)&'8 ?1'
7/26/2019 Manual de Ajax Completo
9/112
~
o H'+)88:,,: &:# A)N)Z&8%90b 7)&' 1# 9)8 $' )e:+ #: @1R 'd9,:8)$:9'8: 7:R '# $J) &:# &%'80) &:#+%+0'#&%)2
T:# 0:$: ,: )#0'8%:8b N'@:+ V1' 7:R '# $J)b 1#) $' ,)+ @'?:8'+ 9:+%.%,%$)$'+ R@_+ #1'N) 9)8) :E8'&'8 1#) 'd9'8%'#&%) 8%&) ), 1+1)8%: '+ ,) 10%,%L)&%I# $' /A/B2
/)@2(&$ 'G'36)&$
7/26/2019 Manual de Ajax Completo
10/112
!"#$%&'()*+K a::
7/26/2019 Manual de Ajax Completo
11/112
,#6M42)& N= ;) &OG'4&1>HP446F'Q2'$4X)8) &:@'#L)8 +' N) ) &:#+081%8 1#) 9'V1'e) ,%.8'8J) 98:
7/26/2019 Manual de Ajax Completo
12/112
T:#+081%8'@:+ 1#) &,)+' V1' #:+ ,%.'8' $', 08).)?:8'9'0%0%N: $' &8')8 &%'80)+ E1#&%:#'+ V1' +:# #'&'+)8%)+ '#&)$) 9'0%&%I#2
F2C Y+&8%.%8 &,)+'+ '# A)N)Z&8%90 T:@98'#$'8 ', 9:8 V1Q '+0_ &:#+081%$) ,) &,)+' 9'0%&%I#
/A/B $' ,) E:8@) V1' '+0_b )+J &:@: 1#) N%+%I# $' &I@: +'&8')# ,:+ 98:0:0%9:+ 6&,)+'+ $' A)N)Z&8%90= R ,)+ $%E'8'#&%)+$' Q+0:+ &:# ,)+ &,)+'+ $' A)N) V1' +:# @)+ &:#:&%$)+ 9)8)V1' +' &:@98'#$) .%'# 0)#0: ', &I$%
7/26/2019 Manual de Ajax Completo
13/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 NS
() ,%.8'8J) V1' &:#+081%8'@:+ &1.8%8_ ,)+ &)8)&0'8J+0%&)+ ._+%&)+g 9)8) &1.8%8 ,)+&)8)&0'8J+0%&)+ )N)#L)$)+ 'd%+0'# @1,0%01$ $' ,%.8'8J)+ $' &I$%
7/26/2019 Manual de Ajax Completo
14/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 NW
est en la funcin coger-->Sin resultado
/8&7%N: h$)0:+lN%$':&,1.2d@,i
El rey Leon
87 Min
Animacion infantil
Aladin
86 Min
Animacion infantil
X:8 )7:8) #: 1+)8Q )8&7%N:+ BP( &:# )&'#0:+b R) V1' '+0:+ &)8)&0'8'+ +),$8_#+1+0%01%$:+ 9:8 1# +J@.:,: 'd08)e: R '+ 1# 98:.,'@) V1' +' 8'+:,N'8_ @_+ 0)8$'2
!"#$%&'()*+M X8%@'8 '?'@9,: )#0'+ $' 91,+)8 ', .:0I#2
!"#$%&'()*+O X8%@'8 '?'@9,:b $'+91Q+ $' 8'&%.%8 ,) %#E:8@)&%I#2
T:@: N'@:+ +' 7) )&01),%L)$: ', &)@9: $' ,) 9_
7/26/2019 Manual de Ajax Completo
15/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 NL
peticion01 = newXMLHttpRequest();
Y# ,:+ +%
7/26/2019 Manual de Ajax Completo
16/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 N`
T:@: N'@:+ '+0) @1R 'd0'#$%$: )1#V1' #: 0:$:+ ,:+ #)N'
7/26/2019 Manual de Ajax Completo
17/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 NY
'# ', '?'@9,: )#0'8%:8 9:$'@:+ )e)$%8 &)@9:+ ) ,) 0).,) &:# ', )3 %#$%&)$: R:.0'#'8 ', +%
7/26/2019 Manual de Ajax Completo
18/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 Nd
2: Cargado3: Interactivo (algunos datos devueltos)4: Completado
onreadystatechangePuntero a la funcin del manejador que se llamacuando cambia readyState.
(: V1' 7'@:+ $%&7: )V1J ,: 1+)8'@:+ '# ,:+ '?'@9,:+ +%
7/26/2019 Manual de Ajax Completo
19/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 NX
Pgina de ejemplovarpeticion01 = null; //Creamos la variable para el objeto
XMLHttpRequest//Este ejemplo emplea un constructor, debera funcionar en cualquiernavegador.peticion01 = newConstructorXMLHttpRequest();functionCoger(url) //Funcin coger, en esta caso le entra unadireccin relativa al documento actual.{if(peticion01) //Si tenemos el objeto peticion01{peticion01.open('GET', url, false); //Abrimos la url, false=formasncronapeticion01.send(null); //No le enviamos datos al servidor//Escribimos la respuesta en el campo con ID=resultadodocument.getElementById('resultado').innerHTML =peticion01.responseText;
}}
Coge undocumentoSin resultado
Y+0) '+ ,) 9)80' @_+ +'#&%,,)b )7:8) $Q@:+,' 1# N%+0)L: ) ,) E1#&%I# %#0'8'+)#0'b$'0'&0)8'@:+ ', #)N'
7/26/2019 Manual de Ajax Completo
20/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 Re
functionConstructorXMLHttpRequest(){if(window.XMLHttpRequest) /*Vemos si el objeto window (la base dela ventana del navegador) posee elmtodoXMLHttpRequest(Navegadores como Mozilla y Safari). */{return newXMLHttpRequest(); //Si lo tiene, crearemos el objeto
con este mtodo.}else if(window.ActiveXObject) /*Sino tena el mtodo anterior,debera ser el Internet Exp. un navegador que emplea objetosActiveX, lo mismo, miramos si tiene el mtodo de creacin. */{/*Hay diferentes versiones del objeto, creamos un array, quecontiene los diferentes tipos desde laversin mas reciente, hasta la mas antigua */var versionesObj = newArray('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
for(vari = 0; i < versionesObj.length; i++){try{/*Intentamos devolver el objeto intentando crear las diferentesversiones se puedeintentar crear uno que no existe y seproducir un error. */return newActiveXObject(versionesObj[i]);}catch(errorControlado) //Capturamos el error, ya que podracrearse otro objeto.{}
}
}/* Si el navegador llego aqu es porque no posee manera alguna decrear el objeto, emitimos un mensaje de error. */throw newError("No se pudo crear el objeto XMLHttpRequest");}
X)8) +1 @'?:8 &:@98'#+%I# +' 7) &:@'#0)$: ', &I$%
7/26/2019 Manual de Ajax Completo
21/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RN
X)8) $)8#:+ &1'#0) $' ,) +%01)&%I# N)@:+ ) 9'$%8 1#) 9_
7/26/2019 Manual de Ajax Completo
22/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RR
!"#$%&'()*+ H X8:.,'@)+ $' 1#) 9'0%&%I# +J#&8:#)b @:+08)$:+ '# P:L%,,) ^%8'E:d2 Y, .:0I#9'8@)#'&' 91,+)$: R ,) 9_
7/26/2019 Manual de Ajax Completo
23/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RS
Pgina de ejemplo
varpeticion01 = null;//Creamos la variable para el objeto xmlhttprequestpeticion01 = newConstructorXMLHttpRequest();
//Se llama cuando cambia peticion01.readyState.functionestadoPeticion() {switch(peticion01.readyState) { //Segn el estado de la
peticin devolvemos un Texto.case0: document.getElementById('estado').innerHTML =
"Sin iniciar";break;case1: document.getElementById('estado').innerHTML =
"Cargando";break;case2: document.getElementById('estado').innerHTML =
"Cargado";break;case3: document.getElementById('estado').innerHTML =
"Interactivo";
break;case4: document.getElementById('estado').innerHTML ="Completado";
//Si ya hemos completado la peticin, devolvemos ademsla informacin.
document.getElementById('resultado').innerHTML=peticion01.responseText;
break;}
}functionCoger(url) { //Funcin coger, en esta caso le entra
una direccin relativa al documento actual.if(peticion01) { //Si tenemos el objeto peticion01peticion01.open('GET', url, true); //Abrimos la url,
true=forma asncrona
/*Asignamos la funcin que se llama cada vez que cambiael estado de peticion01.readyState Y LO HACEMOS ANTES THE HACER ELSEND porque inicia la transmisin.*/
peticion01.onreadystatechange = estadoPeticion;peticion01.send(null); //No le enviamos datos a la pgina
que abrimos.}
}Coge un documento
Estado peticin
Sin resultado
/$'@_+ '+ .1'#: &)@.%)8 ', 0'd0: $', )8&7%N: AZXb 9:8 1#: @)+ )&:8$'2
/8&7%N: h'+9'8)2?+9i
X8:.)@:+ ,) 9_
7/26/2019 Manual de Ajax Completo
24/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RW
!"#$%&'()*+ I c#) 9'0%&%I# )+J#&8:#)b @:+08)$) '# P:L%,,) ^%8'E:d2
Y, 8'+1,0)$: '+ +)0%+E)&0:8%:b ', 0'd0: V1' 7'@:+ 91'+0: 0)@9:&: '+ V1' N)R) )$%+08)'8 @1&7: ), 1+1)8%:2
T1)#$: )N)#&'@:+ 1# 9:&: @_+b 9:$8'@:+ &)8
7/26/2019 Manual de Ajax Completo
25/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RL
X8%@'8) )98:d%@)&%I# 6Y88I#')=jT:@: ', :.?'0: J@KL%%89.2#.$%#: 0%'#' 1# &)@9: $' %$'#0%E%&)$:8b N)@:+ ))e)$J8+',:b $' '+0) @)#'8) 9:$8'@:+ 8'&:#:&'8,:6: '+: 9:$'@:+ 9'#+)8=b +%0'#'@:+ N)8%:+ +%@1,0_#')@'#0'2
/8&7%N: h'?'@9,:P),:270@,iPgina de ejemplofunction estadoPeticion(){window.alert( "Que peticin llego? (" + this.nombre + ")"); //Sesupone que debera ser la del objeto al que se asign.}
functionCoger(peticionAjax, url) //Le pusimos un campo mas, parausarla con cualquier peticin.{
if(peticionAjax){//Hacemos la peticin Ajax estndarpeticionAjax.open('GET', url, true);peticionAjax.onreadystatechange = estadoPeticion;peticionAjax.send(null);
}}var Peticion01 = ConstructorXMLHttpRequest(); //Usamos el constructorpara obtener un objeto compatible.Peticion01.nombre = "Peticion01"; //Un campo nombre, para saber quienes.window.alert( "Comprobando objeto 01 (nombre) = (" +Peticion01.nombre + ")"); //Vemos que se le asigna el nombre
varPeticion02 = ConstructorXMLHttpRequest(); //Usamos el constructorpara obtener un objeto compatible.Peticion02.nombre = "Peticion02"; //Un campo nombre, para saber quienes.window.alert( "Comprobando objeto 02 (nombre) = (" +Peticion02.nombre + ")"); //Vemos que se le asigna el nombreCoge eldocumento 01Coge eldocumento 02
!"#$%&'()*+ ?P ^),,: '# ,) :8%'#0)&%I# ) :.?'0:+ $' A)N)Z&8%90b @:+08)$) '# P:L%,,) ^%8'E:d2
7/26/2019 Manual de Ajax Completo
26/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 R`
X'8: 9)8) #1'+08) +:898'+) 6$'+)
7/26/2019 Manual de Ajax Completo
27/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RY
}}
this.objetoRequest.send(null); //Iniciamos la transmisin dedatos.}/*Las siguientes funciones las dejo en blanco ya que lasredefiniremos segn nuestra necesidad hacindolas muy sencillas o
complejas dentro de la pgina o omitindolas cuando no sonnecesarias.*/functionobjetoRequestCargando() {}functionobjetoRequestCargado() {}functionobjetoRequestInteractivo() {}functionobjetoRequestCompletado(estado, estadoTexto,respuestaTexto, respuestaXML) {}
/* Por ltimo diremos que las funciones que hemos creado, pertenecenal ObjetoAJAX, con prototype, de esta manera todos los objetoAjaxque se creen, lo harn conteniendo estas funciones en ellos*/
//Definimos la funcin de recoger informacin.objetoAjax.prototype.coger = peticionAsincrona ;//Definimos una serie de funciones que sera posible utilizar y las
dejamos en blanco en esta clase.objetoAjax.prototype.cargando = objetoRequestCargando ;objetoAjax.prototype.cargado = objetoRequestCargado ;objetoAjax.prototype.interactivo = objetoRequestInteractivo ;objetoAjax.prototype.completado = objetoRequestCompletado ;
/8&7%N: h'?'@9,:*1'#:270@,iPgina de ejemplovar PeticionAjax01 = newobjetoAjax(); //Definimos un nuevo
objetoAjax.PeticionAjax01.completado = objetoRequestCompletado01; //Funcincompletado del objetoAjax redefinida.functionobjetoRequestCompletado01(estado, estadoTexto,respuestaTexto, respuestaXML){/* En el ejemplo vamos a utilizar todos los parmetros para ver comoqueda, en un futuro prximo, solo te interesare la respuesta entexto o XML */document.getElementById('estado01').innerHTML = estado;document.getElementById('estadoTexto01').innerHTML = estadoTexto;document.getElementById('respuestaTexto01').innerHTML =respuestaTexto;document.getElementById('respuestaXML01').innerHTML = respuestaXML;}
varPeticionAjax02 = newobjetoAjax(); //Definimos un nuevoobjetoAjax.PeticionAjax02.completado = objetoRequestCompletado02; //Funcincompletado del objetoAjax redefinida.functionobjetoRequestCompletado02(estado, estadoTexto,respuestaTexto, respuestaXML) {/* En el ejemplo vamos a utilizar todos los parmetros para ver comoqueda,en un futuro prximo, solo te interesare la respuesta en texto o XML*/document.getElementById('estado02').innerHTML = estado;document.getElementById('estadoTexto02').innerHTML = estadoTexto;document.getElementById('respuestaTexto02').innerHTML =respuestaTexto;document.getElementById('respuestaXML02').innerHTML = respuestaXML;
}
7/26/2019 Manual de Ajax Completo
28/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 Rd
Coge eldocumento 01Cogeel documento 02
Documento 01
estado no recibidotexto estado no
recibidotexto respuesta no
recibidoxml respuesta no
recibido
Documento 02
estado no recibidotexto estado no
recibidotexto respuesta no
recibidoxml respuesta no
recibido
T:@: 91'$'+ N'8 '# ', &I$%
7/26/2019 Manual de Ajax Completo
29/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 RX
!"#$%&'()*+ ?? 4'+1,0)$: &:88'&0: ) ,) 7:8) $' 1+)8 ,)+ &,)+'+ &:#+081%$)+2
/ &)1+) $' ,) '+9'8)b ,,'
7/26/2019 Manual de Ajax Completo
30/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 Se
Defines una clase con una definicin de clase,instancias una clase con su constructor.
Defines y creas los objetos con losconstructores.
Creas un nuevo objeto con el operador new. Igual
Construyes una jerarqua de objetos usandodefiniciones de clases para definir subclases.
Construyes una jerarqua de objetosasignando un objeto como el prototipoasociado a una funcin constructor.
Heredan las propiedades siguiendo una cadenade clases.
Heredan las propiedades usando una cadenade prototipos.
Una definicin de clase describe todas laspropiedades de todas las instancias de la clase,no se pueden aadir dinmicamente.
La funcin constructora o prototipo especificael conjunto de propiedades inicial, luego se
pueden aadir mas ya sea a unos pocos otodos los objetos creados.
Traducido de Core JavaScript Guide de Netscape Communications Corp.
T:# ', +%
7/26/2019 Manual de Ajax Completo
31/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 SN
T,)+'X'0%&%:#/?)d\K2?+functionobjetoAjax( ){/*Primero necesitamos un objeto XMLHttpRequest que cogeremos delconstructor para que sea compatible con la mayora de navegadores
posible. */this.objetoRequest = new ConstructorXMLHttpRequest();//Definimos la funcin de recoger informacin.this.coger = functionpeticionAsincrona(url) //Funcin asignada almtodo coger del objetoAjax.{
/*Copiamos el objeto actual, si usamos this dentro de la funcinque asignemos a onreadystatechange, no funcionara.*/
varobjetoActual = this;this.objetoRequest.open('GET', url, true); //Preparamos la
conexin./*Aqu no solo le asignamos el nombre de la funcin, sino la
funcin completa, as cada vez que se cree un nuevo objetoAjax seasignara una nueva funcin. */
this.objetoRequest.onreadystatechange =
function() {switch(objetoActual.objetoRequest.readyState){
case1: //Funcin que se llama cuando se estcargando.
objetoActual.cargando();break;case2: //Funcin que se llama cuando se a cargado.objetoActual.cargado();break;case3: //Funcin que se llama cuando se est en
interactivo.objetoActual.interactivo();break;case4: /* Funcin que se llama cuando se completo
la transmisin, se le envan 4 parmetros. */
objetoActual.completado(objetoActual.objetoRequest.status,objetoActual.objetoRequest.statusText,
objetoActual.objetoRequest.responseText,objetoActual.objetoRequest.responseXML);
break;}
}this.objetoRequest.send(null); //Iniciamos la transmisin de
datos.}//Definimos una serie de funciones que sera posible utilizar y lasdejamos en blanco.
this.cargando = functionobjetoRequestCargando() {}
this.cargado = functionobjetoRequestCargado() {}this.interactivo = functionobjetoRequestInteractivo() {}this.completado = function objetoRequestCompletado(estado,
estadoTexto, respuestaTexto, respuestaXML) {}}
\'@:+ V1' 0:$: V1'$) '#&'88)$: $'#08: $', @%+@: &:#+081&0:8b R +I,: 7)&'@:+8'E'8'#&%) ) 1#) E1#&%I# $'&,)8)$) E1'8) V1' &:#+081R' ', :.?'0:BP(U0094'V1'+0 R V1' 9:$8J)@:+ 0'#'8 0)@.%Q# $'#08:b $' @)#'8) V1' ',:.?'0: +' )10: &:#0'#$8J)2
/1#V1' 91'$) 9)8'&'8 .:#%0: '#&'88)8 ,)+ E1#&%:#'+ '# ', &:#+081&0:8 R '+ 1#)
.1'#) 0Q%&) 9)8) ,%@9%)8 &I$%
7/26/2019 Manual de Ajax Completo
32/112
,#6M42)& N= ;) &OG'4& 1>HP446F'Q2'$4 SR
8'#$%@%'#0: R @'@:8%)b &)$) N'L V1' 7)R 1#) E1#&%I# '#&'88)$) '# ',&:#+081&0:8 Q+0) +' &8') 9)8) &)$) :.?'0:b ,: V1' #: '+ 1# 98:.,'@) +% N)@:+ )&8')8 9:&:+ :.?'0:+ ) ,) N'L '# 1# XT $' 7:R '# $J)2
X'8:b mV1Q 9)+) &:# :08:+ 0'8@%#),'+ @)+ $'+E)N:8'&%$:+ &:@: ,:+ $%E'8'#0'+
0'8@%#),'+ @IN%,'+ V1' '# 1# E1018: 9:$8J)# +:9:80)8 ', :.?'0:BP(U0094'V1'+0nb R) V1' #: #:+ &1'+0) #)$) @'?:8)8 ', 8'#$%@%'#0: '# '+0):&)+%I#b $'?'@:+ ,) E1#&%I# &:#+081&0:8) &:@: '+0).) )#0'+2
N9X9Sb#
7/26/2019 Manual de Ajax Completo
33/112
SS
,#6M42)& R=P'
7/26/2019 Manual de Ajax Completo
34/112
SW
!"#$%&'()*+ ?T T1)$8: +','&&%I# &:@9:#'#0'+ $' ,) %#+0),)&%I# 9'8+:#),%L)$) $' P:L%,,) ^%8'E:d2
\)@:+ ) '@9'L)8 %#+0),)#$: P:L%,,) ^%8'E:db &1)#$: 7)
7/26/2019 Manual de Ajax Completo
35/112
SL
^%8'*12 H)@:+ N)8%:+ 9)+:+ 7)+0) ,,'
7/26/2019 Manual de Ajax Completo
43/112
WS
!"#$%&'()*+ KO *:0I# $' %#%&%: $' ^%8'*1
7/26/2019 Manual de Ajax Completo
44/112
WW
U)+0) )V1J 1#) &:#+:,) $' '88:8'+ &:#N'#&%:#), 9'8: V1' #:+ @1'+08) ),
7/26/2019 Manual de Ajax Completo
45/112
WL
depuracion
function consola(){
vara = 10;
varb = "hola";varc = [10, 20, 30, 40] ;console.log(a); //Podemos poner simplemente una o varias variables.console.log(a,b);console.log("El valor de a es %d y el de b es %s",a,b); //Podemos usar la sintaxis del printf de c paralos mensajes.console.info(c);console.warn(b);console.error("Prueba de error, el valor de b es %s.",b);
}functionhagoalgo(){
varnombre = "Juan";
hagoalgo2() ;}functionhagoalgo2(){
hagoalgoreal();}functionhagoalgoreal(){
longitud = nombre.length;alert("La longitud del nombre es : "+ longitud);
}
PGINA PARA HACER PRUEBAS DE DEPURACIN SIMPLES
Llamo Funcin hagoalgoLlamo Funcin hagoalgo2Llamo Funcin
hagoalgorealLlamo Funcin consola
Z% )7:8) ,,)@)@:+ ) ,) E1#&%I# h&:#+:,)ib :.0'#'@:+ ', 8'+1,0)$: @:+08)$: '# ,)+%
7/26/2019 Manual de Ajax Completo
46/112
W`
(:+ @'#+)?'+ &:#+:,'2%#E:6= @1'+08)# 1# &)80', $' %#E:8@)&%I#2 (:+ @'#+)?'+ &:#+:,'2`)8#6= @1'+08)# 1# &)80', $' ),'80)2 (:+ @'#+)?'+ &:#+:,'2'88:86= @1'+08)# 1# &)80', $' '88:8b 9'8: ', 98:
7/26/2019 Manual de Ajax Completo
47/112
WY
!"#$%&'()*+ T? P:+08)#$: ', _8.:, $' :.?'0:+ A)N)Z&8%90$', H[P &:# ^%8'*1
7/26/2019 Manual de Ajax Completo
48/112
Wd
T:@: +' N' 9:8 ', +1.8)R)$: '+0).) +'e),)#$: ', 7%9'8'#,)&' ) ,) +'
7/26/2019 Manual de Ajax Completo
49/112
X:8 )7:8) +' 7) N%+0: 0:$: ,: 8',)&%:#)$: ), :.?'0: BP(U0094'V1'+0 V1' '+ ',&:8)LI# $' /A/B R 0'8@%#)@:+ ', &)9J01,: )#0'8%:8 &:#+081R'#$: 1#) ,%.8'8J) V1'#:+ $'?)8_ 10%,%L)8,: $' E:8@) @)+ &I@:$)b 9'8: V1' 0:$)NJ) #: #:+ ).+08)'0:0),@'#0' $', 1+: $', :.?'0: BP(U0094'V1'+02
(: 8'),@'#0' %#0'8'+)#0' $' '+0' :.?'0: '+ 10%,%L)8,: 9)8) 08)'8 ) #1'+08) 9_
7/26/2019 Manual de Ajax Completo
50/112
S9R
J($'H9
Y+0: '+ ,: @_+ E_&%,b )$'@_+ #:+ )R1$)8_ ) &:@98'#$'8 ),
7/26/2019 Manual de Ajax Completo
51/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
52/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
53/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
54/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
H%8'&&%:#5@) c#) %@)
7/26/2019 Manual de Ajax Completo
55/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
56/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&'& .=.(#%'& (*3)M4 V'6'W(&)8% (4+ RVRJ+'8J)j
%#+'80)8A)N)+&8%90270@,Insertar JavascriptvarPeticionAjax01 = newobjetoAjax(); //Definimos un nuevo
objetoAjax.PeticionAjax01.completado = objetoRequestCompletado01; //Funcincompletado del objetoAjax redefinida.function objetoRequestCompletado01(estado, estadoTexto,respuestaTexto, respuestaXML){eval(respuestaTexto); //Solo nos interesa la respuesta como textopara lanzar el cdigo JavaScript
}Llama a unaFuncin
T:$%
7/26/2019 Manual de Ajax Completo
57/112
T:@: N'@:+ #: '+ $%EJ&%, R R) V1' 9:$'@:+ &)8Llama a una Funcin
T:$%
7/26/2019 Manual de Ajax Completo
58/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
59/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
60/112
!"#$%&'()*+ OK A'8)8V1J) $' :.?'0:+ $', #)N'
7/26/2019 Manual de Ajax Completo
61/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
62/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
63/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
64/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
65/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
66/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
67/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
68/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
69/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
70/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
71/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
72/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
73/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
74/112
,#6M42)& S= TU8(78#$ %' 6'4787K( %' 7(V&
7/26/2019 Manual de Ajax Completo
75/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
76/112
,#6M42)& W= ;G'36)&$ Y+V1'@) $' 1#) 9_
7/26/2019 Manual de Ajax Completo
77/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
78/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
79/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
80/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
81/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
82/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
83/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
84/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
85/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
86/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
87/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
88/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
89/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
90/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
91/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
92/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
93/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
94/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
95/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
96/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
97/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
98/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
99/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
100/112
,#6M42)& W= ;G'36)&$ P'#f 0J9%&: $' 1# 98:
7/26/2019 Manual de Ajax Completo
101/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
102/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
103/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
104/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
105/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
106/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
107/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
108/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
109/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
110/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
111/112
,#6M42)& W= ;G'36)&$
7/26/2019 Manual de Ajax Completo
112/112
"7O)7&@