База данных, Jquery, Ajax и Zend Framework. Как использовать все вместе? - PullRequest
1 голос
/ 15 мая 2010

У меня есть форма, отображаемая в представлении, действие которого настроено на ту же страницу / индекс. <form action="" name="formRegistro" id="formRegistro"> и функция JQuery, которая вызывается при отправке формы

$('#formRegistro').submit(function() {
   // Retrevies data from the form
   data = $('#someInput').val()
   //Execute AJAX
   $.get(
      'http://localhost/myproject/',
      { data },
      function(data){
        $('#divStatus').html(data);
      }
   );

  //Prevent page loading
  return false;
});

Я использую и if оператор в IndexController для переключения между обычным представлением и просмотром поста if ($this->_request->isGet()) {, и я хотел бы вывести сообщение в #divStatus, но Я не знаю, как это сделать

Ответы [ 3 ]

3 голосов
/ 15 мая 2010

Хорошо, сначала. Обычный HTTP-запрос всегда является GET-запросом, поэтому ваше условие всегда будет истинным (isGet ())

что вы имеете в виду, что хотите вывести сообщение в #divStatus? Похоже, это то, что вы делаете с функцией обратного вызова.

Вы используете Firebug? Это Очень НЕОБХОДИМЫЙ инструмент для работы с ajax-запросами.

Загрузите и установите его для Firefox, затем выполните следующие действия:

  1. Нажмите новую кнопку firebug внизу экрана
  2. перезагрузите страницу
  3. попробуйте отправить форму
  4. наблюдайте за консолью, когда внизу отображается ваш запрос ajax
  5. узнайте, что происходит, используя Firebug

Я рекомендую использовать функцию $ .ajax () с jquery вместо функции $ .get (). У вас будет больше контроля.

Если вы хотите отображать сообщение из запроса ajax в вашем скрипте при загрузке, вы можете проанализировать вывод данных функции обратного вызова success - или вы можете заставить функцию возвращать объект json.

Надеюсь, это поможет. Удачи:)

1 голос
/ 15 мая 2010

С ZF есть очень крутой способ управления AJAX и «обычными» запросами в одном классе контроллера.

Он основан на том факте, что большинство JS-фреймворков отправляют заголовок HTTP X-Requested-With: XmlHttpRequest .

Посмотрите на AjaxContext и ContextSwitch в Помощники действий Zend Controller

0 голосов
/ 15 мая 2010

Если вы хотите использовать jQuery для отображения этого сообщения, вы можете вставить текст / html в другой элемент html с помощью функции appendTo(), например:

$('My Message').appendTo('#divStatus');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...