Cakephp Ajax分页只触发一次

Cakephp Ajax分页只触发一次,cakephp,Cakephp,我根据官方文档实现了分页组件: 我还提供了ajax支持。基本上,除了一件事之外,所有的事情都可以正常工作:如果我从第1页切换到第2页,ajax请求就会正常工作,然后我从第2页切换到第3页,而不是ajax请求,正常的Post请求就会被执行。所以ajax只工作一次 我的控制器如下所示(缩写): 不,更重要的是我的观点:(jquery包含在我的布局中…) $this->Js->JqueryEngine->jQueryObject='jQuery'; $this->Paginator->options

我根据官方文档实现了分页组件:

我还提供了ajax支持。基本上,除了一件事之外,所有的事情都可以正常工作:如果我从第1页切换到第2页,ajax请求就会正常工作,然后我从第2页切换到第3页,而不是ajax请求,正常的Post请求就会被执行。所以ajax只工作一次

我的控制器如下所示(缩写):

不,更重要的是我的观点:(jquery包含在我的布局中…)

$this->Js->JqueryEngine->jQueryObject='jQuery';
$this->Paginator->options(数组)(
“更新”=>“#分页”,
“evalscript”=>true,
'在'=>$this->Js->get('#busy indicator')->effect('fadeIn',array('buffer'=>false')之前,
“完成”=>this->Js->get(“#忙指示器”)->effect('fadeOut',array('buffer'=>false))
));
?>
…显示数据。。。
就这些。。。如前所述:切换页面1->2将工作,切换页面2-3将执行正常的POST请求,切换页面3-4将工作,因此

有点奇怪,你知道吗?顺便说一句,我尝试了不同的jquery版本,但没有任何效果(目前我正在使用2.0.3…)

谢谢-致以最良好的问候
Teyhouse

在这种情况下,您只需具备:

<?php echo $this->Js->writeBuffer(); ?>


在你的app/View/Layouts/ajax.ctp文件中。

你的JS是在更新DOM时保存的,还是作为更新的DOM的一部分,因此被删除并重新插入?更新后,所述元素是否有任何相关事件?(请查看,即
警报(element.onclick)
)也许您需要设置JQuery事件委派。您好,感谢您的回复-我几乎要自己实现这个洞,但结果是我没有在文件末尾写入缓冲区。。。因此,如果有人有同样的问题:检查代码底部是否有这一行:
$this->Js->JqueryEngine->jQueryObject = 'jQuery';

$this->Paginator->options(array(
  'update' => '#paginate',
  'evalScripts' => true,
  'before' => $this->Js->get('#busy-indicator')->effect('fadeIn', array('buffer' => false)),
  'complete' => $this->Js->get('#busy-indicator')->effect('fadeOut', array('buffer' => false))
));
?>

<?php 
    echo $this->Html->image('indicator.gif', array(
    'id' => 'busy-indicator'
    ));     
?>

<div id="paginate">...display data...</div>

<?php
echo $this->Paginator->numbers();

echo $this->Paginator->prev('« Previous', null, null, array('class' => 'disabled'));
echo $this->Paginator->next('Next »', null, null, array('class' => 'disabled'));

echo $this->Paginator->counter();
?>
<?php echo $this->Js->writeBuffer(); ?>