博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ajax分页问题
阅读量:7071 次
发布时间:2019-06-28

本文共 1638 字,大约阅读时间需要 5 分钟。

 Ajax是大多数人在数据交互时都要用到的方法,当你从后台获取数据,如果这个数据比较庞大,那么分页问题就是必不可少的了。现在有个相对容易的方法(该方法基于jQuery),可以分享给大家 。

    首先封装一个函数:

function queryByPage(con,curpage,eachpage,sql,param,func){

//这里con是指后台数据库的链接接口;curpage、eachpage是从你要查的第几条到第几条;sql是查询语句;param是参数,没有可以不写;func是回调函数。

    if(!curpage || curpage <= 0){

        curpage = 1;

    }

    if(!func){

        func = param;

        param = [];

    }

    con.query("select count(*) cnt from ("+sql+") t",param,function(e,r,f){

        //获取总数量

        var count = r[0].cnt;

        //获取总页码

        var maxpage = Math.ceil(count/eachpage);

// maxpage最大页数;count数据的总数;eachpage每页获取的数据数;Math.ceil取整+1(不管你的余数是大于5还是小于5,Math.ceil都会在取整的基础上+1)

        sql += " limit "+((curpage-1)*eachpage)+","+eachpage;

        var inner_con = getConAPI();

        inner_con.query(sql,param,function(e,r,f){

 

 

var page = {"curpage":curpage,"maxpage":maxpage,"eachpage":eachpage};            func(e,r,f,page);

        });

        inner_con.end();

    });}

exports.getCon = getConAPI;

exports.queryByPage = queryByPage;

    封装了以上代码,在获取数据时我们只需调用就行了,比如:

exports.validatetable = function(req,resp){

    var con = mysql.getCon();

var curpage = req.query.curpage;

//这里是查询总数据的1到5条

    mysql.queryByPage(con,curpage,5,"select * from t_user",function(e,d,f,page){

        if(e){

            console.log(e);

        }else{

//返回所有值和页数

            resp.json({"data":d,"page":page});

        }

    });

    con.end();

};

接收时只需生成分页标签就行了

var cur = parseInt(d.page.curpage);

//cur是页数;funLoad是数据加载时的函数,每次点击都需刷新;

            var pageStr = "";

            if(cur > 1){

                pageStr += "<a οnclick='funLoad("+ (cur-1) +")'>上一页</a>";

            }

            for(var i = 1;i <= d.page.maxpage;i++){

                pageStr += "<a οnclick='funLoad("+i+")'>"+i+"</a>";

            }

            if(cur < d.page.maxpage){

 

                pageStr += "<a οnclick='funLoad("+(cur+1)+")'>下一页</a>";

            }

            $("#page").html(pageStr);

转载于:https://www.cnblogs.com/wsy19940622/p/4556603.html

你可能感兴趣的文章
juniper SRX650 设置IDP记录日志到文件设置match时的问题.md
查看>>
SQL批量删除与批量插入
查看>>
linux中cp强制覆盖拷贝
查看>>
windows server 2008 jstack -存储空间不足,无法处理此命令
查看>>
个人LINUX学习笔记(二)
查看>>
wget
查看>>
计算机操作系统启动和Linux boot
查看>>
读书笔记14:适配器模式
查看>>
Oracle实用-01:绑定变量
查看>>
我的友情链接
查看>>
扫描端口占用情况的python脚本
查看>>
thinkphp3.2中的RBAC
查看>>
MCT Azure 培训上课笔记
查看>>
java wordpress密码加密
查看>>
php5到php7的修改
查看>>
鸟哥私房菜 第2章 如何学习Linux 课后习题
查看>>
c库和嵌入式开发
查看>>
我的友情链接
查看>>
大端与小端
查看>>
.关于oracle latch和lock的一点点
查看>>