Edición de «AJAX»

De KumbiaPHP Framework Wiki

Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 1: Línea 1:
(Esta información ya no aplica en la versión beta2)
+
            ¿Como usar AJAX en Kumbia?
 
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
 
que las funciones drag-and-drop (arrastrar y soltar), effects (efectos) y controls
 
que las funciones drag-and-drop (arrastrar y soltar), effects (efectos) y controls
 
(controles) de Script.aculo.us.
 
(controles) de Script.aculo.us.
 
+
El soporte para estas librerías, está por defecto en la línea que dice: <?
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
<source lang=php>
+
javascripts necesarios para usarlas.
<?kumbia_use_effects() ?>
+
  43.4 link_to_remote
</source> en views/index.phtml esta función incluye los documentos javascripts necesarios para usarlas.
 
 
 
 
 
En la version 1.0 Spirit hay que agregar el siguiente partial:
 
<source lang=php>
 
  <?php View::partial('kumbia/prototype'); ?>
 
</source> en views/index.phtml o entre las viñetas del head 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
 
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.
 
actualiza en un contenedor (div, span, td, etc) del documento actual.
<source lang=php>
+
    1. <?php echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action:  
<?php
+
        saludo/hola") ?>
echo link_to_remote("Cargar algo con AJAX", "update: midiv", "action:saludo/hola") ?>
+
    2. 
<div id="midiv">Este texto será actualizado</div>
+
    3. <div id="midiv">Este texto será actualizado</div>
</source>
 
 
La función link_to_remote generalmente toma 3 parámetros:
 
La función link_to_remote generalmente toma 3 parámetros:
#El Texto del enlace
+
    1. El Texto del enlace
#El id del objeto HTML que se va a actualizar en este caso midiv.
+
    2. 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.
+
    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á
 
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>
+
    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>
 
 
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:
<source lang=php>
+
    1. <h2>Esto es Kumbia con AJAX</h2><?php echo time() ?>
<h2>Esto es Kumbia con AJAX</h2>
+
Al probarlo el texto ‘Esto es Kumbia con AJAX’ y el timestamp actual aparecerán
<?php echo time() ?>
 
</source>
 
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.
 
Antes de la petición:
 
 
[[Archivo:Img_ajax1.jpeg]]
 
 
Luego de la petición:
 
 
[[Archivo:Ajax2.jpg]]
 
 
==form_remote_tag==
 
 
<source lang="php" line>
 
form_remote_tag($action, $objeto_que_actualiza)
 
</source>
 
 
Permite crear un formulario que al ser enviado, genera una petición AJAX y no una
 
petición normal. El parámetro $action indica que acción se está solicitando y el segundo
 
parámetro el contenedor html donde se va a colocar el resultado de la petición.
 
Todos los elementos del formularios son serializados y enviados remotamente por
 
método GET por defecto al oprimirse cualquier botón de submit o de image dentro del
 
formulario.
 
 
También puede recibir los parámetros before, success y oncomplete que tienen código
 
javascript que sera ejecutado antes, después y al completar la transacción AJAX
 
respectivamente.
 
 
Adicionalmente se puede usar el parámetro confirm para indicar que se debe realizar una
 
confirmación antes de hacer la petición AJAX.
 
 
<source lang="php" line>
 
<?php echo form_remote_tag("saludo/hola", "update: midiv") ?>
 
Tu Nombre?: <?php echo text_field_tag("nombre") ?>
 
<?php echo submit_tag("Envio") ?>
 
<?php echo end_form_tag() ?>
 
<div id="midiv">Este texto será actualizado</div>
 
</source>
 
 
Puede recibir 'n' parámetros adicionales de la etiqueta html 'form' para cambiar los
 
atributos de esta. Se debe cerrar el formulario usando la funcion end_form_tag.
 
 
También se pueden agregar eventos javascript tales como success, before y oncomplete:
 
 
<source lang="php" line>
 
<?php echo form_remote_tag("saludo/hola", "update: midiv", "before:alert('Se ha enviado
 
el Formulario')") ?>
 
Tu Nombre?: <?php echo text_field_tag("nombre") ?>
 
<?php echo submit_tag("Envio") ?>
 
<?php echo end_form_tag() ?>
 
<div id="midiv">Este texto será actualizado</div>
 
</source>
 

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)