AJAX

De KumbiaPHP Framework Wiki

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:

  1. El Texto del enlace
  2. El id del objeto HTML que se va a actualizar en este caso midiv.
  3. 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:

Img ajax1.jpeg

Luego de la petición:

Ajax2.jpg

form_remote_tag