Как загрузить представления через Ajax с Zend Framework? - PullRequest
4 голосов
/ 06 февраля 2012

Можно ли загружать представления с помощью ajax в Zend Framework, чтобы страница макета не обновлялась, а только основное содержимое div?

Ответы [ 2 ]

5 голосов
/ 06 февраля 2012

используйте переключение контекста Ajax, вы можете сделать это, добавив это к вашей функции инициализации в вашем контроллере

public function init()
{
 $ajaxContext = $this->_helper->getHelper('AjaxContext');
 $ajaxContext->addActionContext('my', 'html') //my is your action
                ->initContext();
}

Параметр html является типом запроса Ajax. это также может быть JSON или XML

public function myAction() {
    // get what you are sending to your view : data
    $this->view->data = $data;
}

создать представление my.ajax.phtml, в которое myAction попытается отрисовать его по умолчанию и затем включите my.ajax.phtml в ваш вид (ваш основной контент div)

0 голосов
/ 07 марта 2013

В Zend 1.12 мы использовали Zend_Controller_Action_Helper_Json;

Контроллер:

use Zend_Controller_Action_Helper_Json;

class MyController extends Zend_Controller_Action {
    public function init() {
        Zend_Controller_Action_HelperBroker::addHelper(new Zend_Controller_Action_Helper_Json());
    }

    public function fooAction() {
        $this->getResponse()->setHttpResponseCode(200);
        $this->_helper->json(array('value' => 1));
    }
}

Просмотр:

  • Нет файла для просмотра

Вывод:

{"value":1}

Вызов:

http://example/my/foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...