在CakePHP中,当我使用AJAX时布局调用两次

问题描述 投票:0回答:3

请参阅下面的代码片段:

<?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'));
?>

我的页面网址是 http://total.projectsjunction.com/artists/portfolios/1

现在我遇到了问题。我正在使用基于 AJAX 的 CakePHP 分页,但是当我单击下一页时,它会调用页眉和页脚两次。

如果我通过 AJAX 使用函数两次,如何只调用一次布局。

ajax cakephp pagination
3个回答
0
投票

这样的事情可能会帮助你:

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

这将关闭 ajax 请求的布局,但否则保持打开状态。我相信这将特定于给定的请求,但我还没有测试过它,也从来不需要自己这样做。


0
投票

这可能会帮助您解决问题。 它适用于 CakePHP 1.2,但希望是一个很好的起点。

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


0
投票

在 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;

        */

    }
© www.soinside.com 2019 - 2024. All rights reserved.