В CakePHP, макет вызова два раза, когда я использую AJAX - PullRequest
0 голосов
/ 28 июля 2010

Пожалуйста, посмотрите ниже фрагмент кода:

<?php
  //Sets the update and indicator elements by DOM ID
  $paginator->options(array('update' => 'content','indicator' => 'spinner','url' =>$this->passedArgs));

  echo $paginator->prev('<< Previous', null, null, array('class' => 'disabled'));
  echo $paginator->next('Next >>', null, null, array('class' => 'disabled'));
?>

И URL моей страницы http://total.projectsjunction.com/artists/portfolios/1

Теперь у меня проблема. Я использую пейджинговую связь на основе AJAX с cakePHP Но когда я нажимаюна следующей странице он вызывает заголовок и нижний колонтитул два раза.

Как я могу вызвать макет только один раз, если я использую функцию два раза с ajax.

любезно предоставьте вашу поддержку.

Спасибо

Ответы [ 3 ]

0 голосов
/ 28 июля 2010

Это может помочь вам исправить ситуацию.Это относится к CakePHP 1.2, но, надеюсь, является хорошей отправной точкой.

http://bakery.cakephp.org/articles/view/easy-ajax-pagination-using-jquery

0 голосов
/ 18 декабря 2013

попробуйте это в функции beforeFilter (), я уверен, что ваша проблема будет решена .....

    if ($this->RequestHandler->isAjax())
    {
        Configure::write('debug',0);
        $this->header('Pragma: no-cache');
        $this->header('Cache-control: no-cache');
        $this->autoRender   =   false;
        $this->autoLayout   =   false;
       /*
          for disable layout you can also use
           $this->layout='';
           $this->layout=false;

        */

    }
0 голосов
/ 28 июля 2010

Нечто подобное может вам помочь:

if( $this->RequestHandler->isAjax() ) {
  $this->layout = false;
}

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

...