首页  >  问答  >  正文

TP5自带的分页PAG无刷新分页怎么弄啊

用TP5自带的分页方法paginat怎么做AJAX无刷新呢?不需要自己再编写页数代码那种   有没有人推荐个带实例的文章来看看。这是TP5.1最后一章老师留下的小练习。没思路啊。还是说用了自带的paginate就不能做无刷新了?

凡人凡人1926 天前1471

全部回复(1)我来回复

  • 凡人

    凡人2019-08-04 15:51:26

    无刷新是成功了 可是画面会重复  除了刷新的那一页  其他的都重复了   。。。。有谁遇到过这种问题

    AJAX代码部分

        $(function () {   
            //给id为list的元素代理绑定下面所有的a元素"click"事件
            $("#page").on("click",".pagination a",function() {       
            //取a标签的href即url发送ajax请求
                $.get($(this).attr('href'),function(html){       
                    //返回数据输出到id为list的元素中
                    $('#list').html(html);
                });           
                //阻止默认事件和冒泡,即禁止跳转
                return false;
            })
        })


    HTML中刷新的页面

          {include file="index:paginat1" /}


    PHP后台。。。

    public function paginat1()
    {
        $artId=Session::get('art_id');
          $list=Db::table('zh_user_comments')
                    ->where('status',1)
                    ->where('article_id',$artId)
                    ->order('create_time','desc')
                    //->limit($startItem,$pageSize)
                     ->paginate(7, false, ['var_page'=>'page']);    
        //渲染分页按钮
      
        $page = $list->render(); 
        $this->assign('list',$list);
        $this->assign('page',$page);
        //前台ajax分页,如果是ajax请求的话就会进入该区间,下面的代码就不会执行
        if(Request::isAjax()){
            return $this->fetch('paginat1');      
        }
         $this->assign('list',$list);
        $this->assign('page',$page);
        return $this->fetch('paginat1');
    }

    不能自动加载用AJAX调用后台方法  必须在进入父页面是后台调用这个方法


    有什么错误啊

    回复
    0
  • 取消回复