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