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 формате.




Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка