Welcome to the Cookbook

loading...

7.1 AJAX

El AjaxHelper utilizas las populares librerías Prototype y script.aculo.us para operaciones Ajax y efectos en el lado del cliente. Para utilizar el AjaxHelper has de tener la versión actual de las librerías de JavaScript de www.prototypejs.org y http://script.aculo.us situadas en /app/webroot/js. Además has de incluir las librerías Prototype y script.aculo.us en los layouts o vistas que requieran las funcionalidades de AjaxHelper.

Para poder cargar las librerías Prototype y script.aculo.us necesitarás incluir los helpers Ajax y Javascript en tu controlador:

class WidgetsController extends AppController {
	var $name = 'Widgets';
	var $helpers = array('Html','Ajax','Javascript');
}
  1. class WidgetsController extends AppController {
  2. var $name = 'Widgets';
  3. var $helpers = array('Html','Ajax','Javascript');
  4. }

Una vez que hayas incluido el helper de javascript en tu controlador, puedes utilizar el método link() de $javascript para incluir las liberías Prototype y script.aculo.us en la vista:

echo $javascript->link('prototype');
echo $javascript->link('scriptaculous'); 
  1. echo $javascript->link('prototype');
  2. echo $javascript->link('scriptaculous');

Ahora ya puedes puedes utilizar el helper Ajax en tu vista:

$ajax->loquesea();
  1. $ajax->loquesea();

Si se incluye el componente RequestHandler en el controlador, CakePHP automáticamente aplicará el layout Ajax cuando se realize una petición de una acción mediante AJAX.

class WidgetsController extends AppController {
	var $name = 'Widgets';
	var $helpers = array('Html','Ajax','Javascript');
	var $components = array( 'RequestHandler' );
}
  1. class WidgetsController extends AppController {
  2. var $name = 'Widgets';
  3. var $helpers = array('Html','Ajax','Javascript');
  4. var $components = array( 'RequestHandler' );
  5. }