2012-06-06 3 views
0

У меня есть вызов ajax, который я делаю контроллеру, который должен обновлять количество статей, указанных на странице. Я создал действие в контроллере, который обрабатывает запрос ajax. См. Здесь:Передача переменных между действиями после вызова AJAX в Zend Framework

public function articleswitchAction(){ 
    $this->view->layout()->disableLayout(); 
    $this->_helper->viewRenderer->setNoRender(true); 

    $tileLayout = $this->_request->getParam('tc'); 

    $landscape = 14; 
    $portrait = 16; 
     if ($tileLayout == "portrait"){ 
      $limit = $portrait; 
     }elseif ($tileLayout == "landscape"){ 
      $limit = $landscape; 
     }else{ 
      $limit = 15; 
     } 
    } 

$ limit variable устанавливается в другом действии внутри одного контроллера, и эта переменная устанавливает начальный вид.

Что нужно сделать, чтобы обновить представление после того, как я изменил переменную с помощью своего вызова AJAX?

ответ

0

Если вы используете AJAX, вы можете изменить свой HTML-контент только с помощью javascript. AJAX вызов этого действия будет возвращать что-то вроде

15 

Вы должны принять это значение и установить его на элемент, где показан граф.

Например:

$.get(
    'url/to/action', 
    {'tc':'landscape'}, 
    function(returned_data) { 
     $('#articleCount').text(returned_data); 
    } 
); 

Или я неправильно понял ваш вопрос?

+0

У меня только есть это возвращение на место, чтобы убедиться, что ajax обновляет переменную. Я удалю это из своего сообщения, это может быть немного запутанным. – HjalmarCarlson

+0

Я думаю, что неправильно понимаю ваш вопрос, или вы неправильно понимаете, как работает PHP. Живой цикл всех переменных основан на запросах. Если вы ничего не возвращаете из своего действия, неважно, как вы рискуете $ limit variable - это всего лишь локальная переменная. –

+0

Так что я не могу сделать его глобальной переменной? – HjalmarCarlson

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