您好,欢迎访问一九零五行业门户网

改造thinkphp 的 Page类,使其支持ajax方式

改造thinkphp 的 page类,使其支持ajax方式
效果:
说明:thinkphp版本:3.2.1
步骤:
1、打开page.class.php(路径:thinkphp/library/think)
找到第48行:
 empty($_get[$this->p]) ? 1 : intval($_get[$this->p]);  改为:
 empty(i($this->p)) ? 1 : intval(i($this->p));
实际是改为用内置的 i 函数读取传递进来的p参数,这样并不会影响原有的功能。
2、ajax方式的调用:
即前台html页面
此处用来显示分页内容
javascript:    function jzry(p) {
        var request = $.ajax({
            url: __module__/home/jzrh,  //用ajax加载分页数据
            type: post,
            async: false,
            data:{p:p},
            beforesend: function(xhr) {
                $('#message').html(正在加载数据,请稍候。);
            }
        });
        request.done(function(msg) {
            if (msg.bj == 'ok') {
                $('#rs').html(msg.page);    //显示分页
                $(#rs a).removeattr(href);   //删除原来的连接地址方式,
//改用ajax按键事件
                $(.num,.end,.first).on(click, function(){
                    jzry( $(this).text() );
                });
                $(.next).on(click, function(){
                    jzry( parseint($(.current).text())+1);
                });
                $(.prev).on(click, function(){
                    jzry( parseint($(.current).text())-1);
                });
        }});
        request.fail(function(jqxhr, textstatus) {
            $('#message').html(错误:  + textstatus);
        });
    } 样式:
3、后台使用和原来的一样 
        $user = m(user); 
        $user = $user->page($_post['p'].',20')->order('id')->select();
        if ($user > 0) {
            $val['bj'] = 'ok';
            $count=$user->count();
            $page=new \think\page($count,20);
            $val['page']=$page->show();
            $this->ajaxreturn($val);                      //ajax方式返回
        }
ad:真正免费,域名+虚机+企业邮箱=0元
其它类似信息

推荐信息