nodeJs+express+ejs+mongoose实现翻页原理1

网上找了很多类似教程发现无果 故自己大概写了实现原理分为2种方式 一种是AJAX 一种是直接请求 2种方式都有他们的共同点 就是异步

首先是传值请求(路由方式这里不论述 不懂可以看看express教程)

exports.index = function (req, res, next) {
	var page = req.query.p;
	var perPage = (req.query.pr)?req.query.pr:3;
	
    db.allTodos(page,perPage,function (err, todos) {
        if (err) {
            return next(err);
        }
		//console.log(todos);
        res.render('index.html', {todos: todos.data,count:todos.count});
    });
};

首先是常规的传值

其中page 是当前页面 perpage 是每一页显示数量 然后调用 岛ALLTODOS 其实就是model

exports.allTodos = function(page,perPage,callback) {
   //获取总数
	Todo.count({}, function (err, count) {
	//获取列表
		Todo.find({}).sort({'_id':-1}).skip((page-1)*perPage).limit(perPage).exec(function(err,doc){
				var d= [];
				d.data = doc;
				d.count = count;
				callback(err,d);
			
			})
	});

}

根据以上代码 我们可以看到真个过程都是异步进行 最后结果我们返回到 index里面

res.render('index.html', {todos: todos.data,count:todos.count});

然后我们包涵了翻页3个必要参数 包括 page  perpage count 这样就可以实现业务逻辑了 ……

详情点击:http://www.vcotime.com/134.html

转载于:https://my.oschina.net/u/568478/blog/131899

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值