-- Meroe Kush <[email protected]> wrote
(on Sunday, 05 September 2010, 10:26 PM -0400):
> Hello,
> 
>  
> 
> I'm trying to figure out the best way to redirect after a form is processed 
> and
> found valid via processAjax.  Here is my controller code:
> 
>  
> 
> public function addAction() {      
> 
>             $form = new App_Forms_Users_Add ();
> 
>             if ($this->getRequest ()->isXmlHttpRequest () && $this->getRequest
> ()->isPost ()) {
> 
>                   $response = $form->processAjax ( $this->getRequest ()->
> getPost ());
> 
>                   if ($response == 'true') {               

I'm pretty sure that this is not what you want as a conditional. 'true'
is a string, while what you want is the boolean value; as such, just
test it:

    if ($response) {
    } else {
    }


Also...

>                         $formData = $form->getValues ();
> 
>                         $last_id = $this->UserModel->add ( $formData );
>             
> 
>                         $this->_redirect('/backend/users/index');

Call return after this statement, or as part of it:

    return $this->_redirect('/backend/users/index');

That will ensure that if you later configure the redirector not to call
exit(), the action will not continue processing.

> 
>                   } else {
> 
>                         $this->_helper->json ($response);                    
> 
>                   }
> 
>             }          
> 
>             $this->view->form = $form;
> 
>      
> 
>       }
> 
>  
> 
> Everything works just fine except the redirect.  Can I not redirect after a
> post?  Any help would be appreciated.
> 

-- 
Matthew Weier O'Phinney
Project Lead            | [email protected]
Zend Framework          | http://framework.zend.com/
PGP key: http://framework.zend.com/zf-matthew-pgp-key.asc

Reply via email to