Diferencia entre revisiones de «AJAX»
Línea 12: | Línea 12: | ||
actualiza en un contenedor (div, span, td, etc) del documento actual. | actualiza en un contenedor (div, span, td, etc) del documento actual. | ||
<source lang=php> | <source lang=php> | ||
− | <?php echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action: | + | <?php |
− | + | echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action:saludo/hola") ?> | |
<div id="midiv">Este texto será actualizado</div> | <div id="midiv">Este texto será actualizado</div> | ||
</source> | </source> | ||
Línea 43: | Línea 43: | ||
Antes de la petición: | Antes de la petición: | ||
+ | |||
[[Archivo:Img_ajax1.jpeg]] | [[Archivo:Img_ajax1.jpeg]] | ||
+ | |||
Luego de la petición: | Luego de la petición: | ||
+ | |||
[[Archivo:Ajax2.jpg]] | [[Archivo:Ajax2.jpg]] | ||
==form_remote_tag== | ==form_remote_tag== |
Revisión del 23:15 28 ago 2009
Kumbia posee soporte para funciones AJAX con el framework Prototype y también sin él. Recordemos que prototype (http://prototype.conio.net) está incluida por defecto al igual que las funciones drag-and-drop (arrastrar y soltar), effects (efectos) y controls (controles) de Script.aculo.us. El soporte para estas librerías, está por defecto en la línea que dice:
<?kumbia_use_effects() ?>
en views/index.phtml esta función incluye los documentos javascripts necesarios para usarlas.
link_to_remote
Permite hacer un llamado sencillo mediante AJAX que solicita un fragmento HTML y lo actualiza en un contenedor (div, span, td, etc) del documento actual.
<?php
echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action:saludo/hola") ?>
<div id="midiv">Este texto será actualizado</div>
La función link_to_remote generalmente toma 3 parámetros:
- El Texto del enlace
- El id del objeto HTML que se va a actualizar en este caso midiv.
- La acción de la cual se obtendrán la información para actualizar.
Cuando el usuario hace clic sobre el vinculo la acción hola en el controlador saludo será invocada en segundo plano y cualquier información obtenida será reemplazada en el div. El controlador ‘controllers/saludo’ tiene una acción llamada hola:
<?php
class SaludoController extends ApplicationController {
function hola(){
#Indica que el resultado sera solo una parte de la vista actual
$this>set_response('view');
}//fin del metodo
}//fin de la clase
La implementación vacía del método indica que no hay lógica para esta acción sin embargo Kumbia carga automáticamente la vista con el nombre hola.phtml en views/saludo/ que contiene lo siguiente:
<h2>Esto es Kumbia con AJAX</h2>
<?php echo time() ?>
Al probarlo el texto Esto es Kumbia con AJAX y el timestamp actual aparecerán como por arte de magia en el div indicado.
Antes de la petición:
Luego de la petición: