Welcome to the Cookbook

loading...

7.1 AJAX

O AjaxHelper utiliza as populares bibliotecas Javascript Prototype e script.aculo.us para operações Ajax e efeitos no lado do cliente. Para usar o AjaxHelper, você precisa que a versão atual destas bibliotecas Javascript (obtidas a partir de www.prototypejs.org e http://script.aculo.us) estejam presentes na pasta /app/webroot/js/. Além disso, você deve incluir as bibliotecas Javascript Prototype e script.aculo.us em todos os layouts ou views que utilizarem funcionalidade do AjaxHelper.

Você vai precisar incluir os helpers Ajax e Javascript em seus controllers:

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. }

Uma vez que você tenha o JavascriptHelper incluído em seu controller, você pode usar o método link() do helper javascript para incluir as bibliotecas Prototype e Scriptaculous:

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

Agora você já pode usar o AjaxHelper em sua view:

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

Se o componente RequestHandler for incluído no controller, então o CakePHP poderá aplicar automaticamente o layout Ajax quando uma ação for requisitada via 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. }