2013-09-22 3 views
0

Может кто-нибудь, пожалуйста, предложите мне хороший учебник начинающих по использованию Ajax с Zend 1. Я искал сеть для некоторых из этих уроков, но не мог найти понятного. В некоторых они говорят, что у вас есть для создания файла .json.phtml для ответа json, другие - нет. Я очень смущен обо всех этих вызовах ajax с Zend Framework 1. Был бы очень благодарен.Zend Framework 1 Ajax

ответ

2

Ну, действительно, есть некоторые основные вещи.

  1. Получите ваши данные (из БД, файлов, в-кода массива, что угодно)
  2. Получить вспомогательный контроллер
  3. отправить ответ JSON

И это все. ОК, не совсем, но в принципе да! если у вас есть данные в $data:

$this->_helper->json($data, true); 

возвращает ответ в формате JSON. Документация: here.

Теперь есть другое понятие Context Switch, и AjaxContentHelper которых: помощник действия

ContextSwitch предназначен для облегчения возврата ответов в различных форматы по запросу. Помощник AjaxContext - это специализированная версия ContextSwitch, которая облегчает возврат ответов на XmlHttpRequests.

Чтобы включить любой из них, вы должны указать намеки в своем контроллере относительно того, какие действия могут отвечать на какие контексты. Если входящий запрос указывает действительный контекст для данного действия, то помощник будет тогда:

  • Отключить макеты, если они включены.
  • Задайте альтернативный суффикс представления, требуя для этого сценария отдельного вида.
  • Отправлять соответствующие заголовки ответов для желаемого контекста.
  • При необходимости вызовите указанные обратные вызовы, чтобы настроить контекст и/или выполнить пост-обработку.

Что-то вроде этого:

$contextSwitch = $this->_helper->getHelper('contextSwitch'); 
$contextSwitch->setDefaultContext('json'); 
$contextSwitch->addActionContext('index', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('get', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('post', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('put', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('delete', array('xml','json'))->initContext(); 
$contextSwitch->addActionContext('head', array('xml','json'))->initContext(); 

Вы действительно не нужен учебник Я думаю. Все, что вам нужно, - это хорошее базовое знание того, как веб работает внутри, и читать Zend Documentation. В любом случае, вот tutorial on ContextSwitch.

Смежные вопросы