Diferencia entre revisiones de «AJAX»

De KumbiaPHP Framework Wiki
Línea 1: Línea 1:
 
 
Kumbia posee soporte para funciones AJAX con el framework Prototype y también sin él.
 
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
 
Recordemos que prototype (http://prototype.conio.net) está incluida por defecto al igual
Línea 18: Línea 17:
 
</source>
 
</source>
 
La función link_to_remote generalmente toma 3 parámetros:
 
La función link_to_remote generalmente toma 3 parámetros:
    1. El Texto del enlace
+
#El Texto del enlace
    2. El id del objeto HTML que se va a actualizar en este caso midiv.
+
#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.
+
#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á
 
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.
 
invocada en segundo plano y cualquier información obtenida será reemplazada en el div.
 
El controlador ‘controllers/saludo’ tiene una acción llamada hola:
 
El controlador ‘controllers/saludo’ tiene una acción llamada hola:
 
<source lang=php>  
 
<source lang=php>  
    1. <?php
+
<?php
    2.    class SaludoController extends ApplicationController {
+
class SaludoController extends ApplicationController {
    3.        function hola(){
+
  function hola(){
     4.              #Indica que el resultado sera solo una parte de la vista actual
+
     #Indica que el resultado sera solo una parte de la vista actual
     5.              $this­>set_response('view');
+
     $this­>set_response('view');
    6.        }//fin del metodo
+
  }//fin del metodo
    7.    }//fin de la clase
+
}//fin de la clase
    8. ?>
 
 
</source>
 
</source>
 
La implementación vacía del método indica que no hay lógica para esta acción sin
 
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
 
embargo Kumbia carga automáticamente la vista con el nombre hola.phtml en
 
views/saludo/ que contiene lo siguiente:
 
views/saludo/ que contiene lo siguiente:
    1. <h2>Esto es Kumbia con AJAX</h2><?php echo time() ?>
+
<source lang=php>
 +
<h2>Esto es Kumbia con AJAX</h2><?php echo time() ?>
 +
</source>
 
Al probarlo el texto ‘Esto es Kumbia con AJAX’ y el timestamp actual aparecerán
 
Al probarlo el texto ‘Esto es Kumbia con AJAX’ y el timestamp actual aparecerán
 
como por arte de magia en el div indicado.
 
como por arte de magia en el div indicado.

Revisión del 23:00 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:

  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.