nodeJs+express+ejs+mongoose實現翻頁原理1

網上找了不少相似教程發現無果 故本身大概寫了實現原理分爲2種方式 一種是AJAX 一種是直接請求 2種方式都有他們的共同點 就是異步 html

首先是傳值請求(路由方式這裏不論述 不懂能夠看看express教程) 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 spa

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裏面 code

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

而後咱們包涵了翻頁3個必要參數 包括 page  perpage count 這樣就能夠實現業務邏輯了 …… htm

詳情點擊:http://www.vcotime.com/134.html 教程

相關文章
相關標籤/搜索