Diferencia entre revisiones de «Usuario:Juanda/jQuery/Ajax»
De WikiEducator
(→Cachear AJAX) |
|||
(7 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 17: | Línea 17: | ||
//Objeto JSON: | //Objeto JSON: | ||
{ "nombre":"Pepe" , "apellido":"Pérez" } | { "nombre":"Pepe" , "apellido":"Pérez" } | ||
− | + | </source> | |
+ | </div> | ||
+ | <div class="slide"> | ||
+ | <source lang="javascript"> | ||
//Array JSON | //Array JSON | ||
{ | { | ||
Línea 35: | Línea 38: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===¿Qué es AJAX?=== | ===¿Qué es AJAX?=== | ||
*AJAX quiere decir Asynchronous JavaScript and XML. | *AJAX quiere decir Asynchronous JavaScript and XML. | ||
Línea 54: | Línea 58: | ||
*Será útil usar caché solamente con contenidos estáticos. | *Será útil usar caché solamente con contenidos estáticos. | ||
*Es aconsejable indicarlo porque el comportamiento por defecto puede variar en función del navegador. | *Es aconsejable indicarlo porque el comportamiento por defecto puede variar en función del navegador. | ||
+ | *La caché solo funciona mediante GET. | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===Método load=== | ===Método load=== | ||
* Es el método más sencillo. Lo usaremos para cargar cierto contenido por AJAX al DOM de la página actual. | * Es el método más sencillo. Lo usaremos para cargar cierto contenido por AJAX al DOM de la página actual. | ||
+ | <source lang="javascript"> | ||
+ | $(selector).load(URL,data,callback); | ||
+ | </source> | ||
+ | *Se puede especificar un selector jQuery a la URL: | ||
+ | <source lang="javascript"> | ||
+ | $("#div1").load("demo_test.txt #p1"); | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ====Ejemplo de uso==== | ||
+ | *Petición de contenido vía ajax al pulsar un enlace: | ||
<source lang="html4strict"> | <source lang="html4strict"> | ||
<html> | <html> | ||
Línea 83: | Línea 100: | ||
</source> | </source> | ||
</div> | </div> | ||
+ | <div class="slide"> | ||
+ | ====Seleccionar datos en petición AJAX==== | ||
+ | *Podemos añadir un selector jQuery a nuestra URL de petición AJAX: | ||
+ | <source lang="javascript"> | ||
+ | $("#div1").load("mipagina.html #p1"); | ||
+ | </source> | ||
+ | * En este caso obtendremos del fichero mipagina.html el elemento identificado con id="p1". | ||
+ | </div> | ||
+ | |||
<div class="slide"> | <div class="slide"> | ||
====Paso de parámetros==== | ====Paso de parámetros==== | ||
Línea 124: | Línea 150: | ||
echo ("He tardado 3 segundos en ejecutar esta p&aactute;gina..."); | echo ("He tardado 3 segundos en ejecutar esta p&aactute;gina..."); | ||
?> | ?> | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | $(selector).load(URL,data,'''callback'''); | ||
+ | *El parámetro opcional de callback especifica la función de callback a ejecutar cuando el método load() se haya completado. Puede tener varios parámetros: | ||
+ | :responseTxt - contiene el resultado de la llamada si ha sido un éxito | ||
+ | :statusTXT - contiene el estado de la llamada | ||
+ | :xhr - contiene el objeto XMLHttpRequest | ||
+ | *Ejemplo de uso: | ||
+ | <source lang="javascript"> | ||
+ | $("button").click(function(){ | ||
+ | $("#div1").load("demo_test.txt",function(responseTxt,statusTxt,xhr){ | ||
+ | if(statusTxt=="success") | ||
+ | alert("External content loaded successfully!"); | ||
+ | if(statusTxt=="error") | ||
+ | alert("Error: "+xhr.status+": "+xhr.statusText); | ||
+ | }); | ||
+ | }); | ||
</source> | </source> | ||
</div> | </div> |
Última revisión de 12:00 5 nov 2012