Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/06/2011, 21:34
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: jquery y zendFramework

Bueno yo hago peticiones asincrónicas a un contolador que llamo AjaxController y dentro tengo algo como
Código PHP:
Ver original
  1. <?php
  2. class AjaxController extends Zend_Controller_Action
  3. {
  4.     public function init()
  5.     {
  6.         $this->_helper->layout()->disableLayout();
  7.         if(!$this->getRequest()->isXmlHttpRequest()){
  8.             $this->_forward('index');
  9.         }
  10.     }
  11.  
  12.     public function indexAction()
  13.     {
  14.         $this->_helper->viewRenderer->setNoRender(true);
  15.     }
  16.  
  17.     public function fooAction()
  18.     {
  19.         $this->_helper->viewRenderer->setNoRender(true);
  20.         $foo = new Model_Foo; // modelo para trabajar la lógica
  21.         $result = $foo->result();
  22.         $this->getResponse()->setBody($result); // no se usa views/scripts/foo.phtml
  23.     }
  24.  
  25.     public function barAction()
  26.     {
  27.         $bar = new Model_Bar; // modelo para trabajar la lógica
  28.         $this->view->bar = $bar->result(); // se usa el views/scripts/bar.phtml
  29.     }
  30. }
Al principio indico en el init, que solo se permiten peticiones asincronicas y me baso buscando la cabecera X-Requested-With: XMLHttpRequest, si no existe lo fuerza siempre a ver indexAction que a su vez no imprime nada, si existe entonces llamo el método que pidió.

Ya mismo me regañaran y me diran que lo haga de otra forma, pero es hasta ahora la forma como lo hago y es bien fácil de trabajar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos