Zend AJAX
Для того, чтобы controller и соответствующий action могли принимать ajax запросы, нам необходимо добавить такой код в init() функцию:
$this ->_helper->AjaxContext() ->addActionContext('index','json') ->initContext('json');
Index тут выступает в роли определителя action, который будет принимать запрос.
Теперь возьмем java-script код, который будет отсылать запрос для нас.
Код отправляется на index controller -> page action:
$.post( '/index/index/0/controller%3D%3Eindex/1/action%3D%3Eindex',{'mail' : mail}, function(response){ alert(response.text); } );
Добавим в наш метод action код, который будет ловить ajax запрос:
if ($this->getRequest()->isXmlHttpRequest()){ $mail = $this->getRequest()->getParam('mail'); $this->view->text = 'ajax'; }
Теперь, когда java-script посылает запрос, срабатывает Zend Ajax перехватчик, который получает значение и шлет ответ через view. Zend Framework таким способом отсылает данные в JSON формате.
Рекомендуем почитать