首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cakephp ajax分页只工作一次-脚本不被评估d?

问cakephp ajax分页只工作一次-脚本不被评估d?
EN

Stack Overflow用户
提问于 2012-04-27 14:59:07
回答 2查看 2.4K关注 0票数 0

我遵循了cakephp站点上的教程,但是使用ajax的分页只起作用一次--内容会更新,而且没问题。但对于第二次单击某个页面链接,整个页面都会重新加载-我认为当ajax刷新内容时,click()事件处理程序不会再次绑定-我不知道为什么...我使用的是:

代码语言:javascript
复制
$this->Paginator->options(array(
    'update' => '#content',
    'evalScripts' => true
)); 

当我在源代码中加载页面时,有:

<a href="/final/books/index/page:9/sort:id/direction:asc" id="link-458631432" rel="prev">« Previous</a>

代码语言:javascript
复制
    $(document).ready(function (){
         $("#link-925538478").bind("click", function (event) {
             $.ajax({dataType:"html", success:function (data, textStatus){
                 $("#content").html(data);}, url:"\/final\/books\/index\/page:10\/sort:id\/direction:desc"});
                 return false;});
             ...

例如,当我点击下一页(第一次)时,一切都会刷新(链接hrefs也会正常工作),但脚本不会重新加载,所以没有绑定单击事件,我认为再次单击下一页只是使用了该链接。

这很奇怪,因为我在分页链接后面添加了这个:

代码语言:javascript
复制
<script>
    $(document).ready(function (){ 
        alert('yes'); 
    });
</script>

第一次ajax刷新后会显示警报...然后我把这个东西设置成了ofc。<?php echo $this->Js->writeBuffer(); ?>在结尾...

我意识到这不是分页器-对于以下两个链接:

代码语言:javascript
复制
<?php echo $this->Js->link('link1', array('author' => 'abc'), array('update' => '#content')); ?>
<?php echo $this->Js->link('link2', array('author' => '123'), array('update' => '#content')); ?>

这是相同的-当我点击link1 it ajax,然后当我点击link2时会有正常的重载-所以这与ajax刷新后的脚本评估有关……那可能是什么?

我是这样设置JSHelper的:

代码语言:javascript
复制
var $helpers = array('Js' => array('Jquery'));
EN

回答 2

Stack Overflow用户

发布于 2012-04-28 07:29:05

我想通了!因为ajax请求将布局设置为app/View/Layouts/ajax.ctp,而ajax.ctp是:

代码语言:javascript
复制
<?php echo $this->fetch('content'); ?>

我不得不添加这一行

代码语言:javascript
复制
<?php echo $this->Js->writeBuffer(); ?>

到ajax.ctp来编写java脚本(这样ajax链接就可以在ajax请求之后工作)。

现在分页工作完美了!

票数 3
EN

Stack Overflow用户

发布于 2012-04-27 16:38:55

蛋糕php Ajax分页器似乎不能很好地工作。我也有类似的问题。

我建议您使用cakephp插件Cakephp-DataTable

这个插件已经实现了分页,默认情况下它拥有大部分的特性。他们还提供了文档,如果您在实现中发现任何困难,请通过issues section

此外,开发人员非常响应,如果你有任何插件,可以得到澄清。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10346167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档