Как я могу реализовать jquery в приложении Zend Framework по-своему?

Как я могу реализовать jquery в моем приложении Zend Framework по-своему.

  • добавление jquery.js ok
  • appending script ok
  • отправить данные POST на контроллер ok
  • процесс POSTed данные в порядке
  • отправить «AjaxContext» ответ на клиент теперь нормально (спасибо)

Я использую jquery в первый раз, что я делаю неправильно?

На раннем этапе наилучшей практикой получения Zend для ответа на запросы ajax без полной компоновки было проверить переменную, доступную через заголовки запроса. Согласно документации, многие библиотеки на стороне клиента, включая jQuery, Prototype, Yahoo UI, MockiKit, отправляют правильный заголовок для этого.

if($this->_request->isXmlHttpRequest()) { //The request was made with via ajax } 

Однако, современная практика и то, что вы, вероятно, ищете, теперь использует один из двух новых помощников:

  • ContextSwitcher
  • AjaxContent

Это делает процесс значительно более элегантным.

 class CommentController extends Zend_Controller_Action { public function init() { $ajaxContext = $this->_helper->getHelper('AjaxContext'); $ajaxContext->addActionContext('view', 'html') ->initContext(); } public function viewAction() { // Pull a single comment to view. // When AjaxContext detected, uses the comment/view.ajax.phtml // view script. } 

Обратите внимание: этот современный подход требует, чтобы вы запрашивали формат для запуска контекста. Это не очень очевидно в документации и несколько сбивает с толку, когда вы получаете просто странные результаты в браузере.

 /url/path?format=html 

Надеюсь, мы найдем способ обхода. Подробную информацию см. В полной документации .

Убедитесь, что вы используете $(document).ready() для любых событий jQuery, которые касаются DOM. Также проверьте консоль ошибок javascript / parser. В Firefox он находится в меню Tools-> Error Console. И если вы еще не установили его, я бы настоятельно рекомендовал Firebug .

Это должен был быть комментарий, но не может …
Это не имеет ничего общего с комбинацией ZF + JQuery.
Сначала попробуйте прототику того, что вам нужно, с простым файлом php. Нет рамки, только Jquery и прямо, грязный php.
О, и не забудьте проследить, что происходит с FireBug.