一个element配合express实现分页查询的思路与实现。

技术栈Element

Express

Mongoose

前端实现

前端的分页使用了Element的分页组件。

@current-change="handleCurrentChange"

:current-page="currentPage"

:page-size="pageSize"

layout="total, prev, pager, next"

:total="count">

export default {

data () {

return {

count: 0,

currentPage: 1,

pageSize: 10

}

},

methods: {

// 获取当前页码并重新获取数据

handleCurrentChange (val) {

this.currentPage = val

this._initData()

},

// 初始化数据,获得数据数量以及每页数据

_initData () {

let param = {

currentPage: this.currentPage,

pageSize: this.pageSize

}

axios.get('to/your/api').then((response) => {

let res = response.data

if (res.status === '0') {

this.count = res.result.count

}

})

axios.get('to/your/api', {

params: param

})

.then((response) => {

let res = response.data

if (res.status === '0') {

this.questionsList = res.result.list

} else {

this.questionsList = []

}

})

}

}

}

这里使用了两个api,一个用来获取数据总数,一个根据页码来获取该页数据。

后端实现

后端使用express+mongoose实现对数据的分页查询。

// 后端关键代码

router.get("/show", (req, res, next) => {

let Questions = require('../models/questions') // 引入models

let currentPage = parseInt(req.param('currentPage')) // 转换前端传入当前页码

let pageSize = parseInt(req.param('pageSize')) // 转换前端传入的每页大小

let skip = (currentPage-1)*pageSize // 实现分割查询的skip

let params = {}

// 使用mongoose的skip,limit两个api对数据进行跳跃查询并返回查询结果

let questionsModel = Questions.find(params).skip(skip).limit(pageSize)

questionsModel.exec((err, doc) => {

if (err) {

res.json({

status: '1',

msg: err.message

})

} else {

res.json({

status: '0',

msg: '',

result: {

list: doc

}

})

}

})

})

本文参考ELement文档

mongoose中文文档

express ajax分页实例,element+express+mongoose实现分页查询相关推荐

  1. 三层架构+ajax分页实例,ASP.NET存储过程实现分页效果(三层架构)

    本文实例为大家分享了ASP.NET存储过程实现分页的具体代码,供大家参考,具体内容如下 实现效果: 文本框内输入跳转的页数,点击GO会跳转到该页 首先在项目下加入BLL,DAL,DataAccess, ...

  2. mvc jquery ajax分页实例,jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解,mvcpagerajax分页...

    jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解,mvcpagerajax分页 简单的两个步骤即可实现分页功能 //回调里面进行业务处理 function lo ...

  3. nodejs+express+mysql(后台实例项目练习4—实现机构新增功能)

    nodejs+express+mysql(后台实例项目练习-搭建项目) nodejs+express+mysql(后台实例项目练习2-数据库链接 网页跳转 iframe框架路径问题 模板引擎 ) no ...

  4. 自定义ajax脚本出粗哦,jQuery DataTables插件自定义Ajax分页实例解析

    一.问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分类效果. 后端的分页接口已经写好了,不涉及条件查询,需要传入页码(pageNo)和页面显示数 ...

  5. 使用实例展示Express框架app函数的详解

    0.Express框架简介 Express是Node.js中最受欢迎的Web应用程序框架之一.Express提供了许多有用的功能,使开发Web应用程序变得更加容易和高效. 以下是Express框架的一 ...

  6. mvc php 分页,MVC+jQuery.Ajax异步实现增删改查和分页_jquery

    本文实例为大家分享了MVC+jQuery.Ajax异步实现增删改查和分页的具体代码,供大家参考,具体内容如下 1.Model层代码 using System; using System.Data; u ...

  7. express学习 - (3)express 路由

    express学习 (3) express 路由 李俊才 的 CSDN 博客 邮箱 :291148484@163.com CSDN 主页:https://blog.csdn.net/qq_285502 ...

  8. python mysql 分页_利用python对mysql表做全局模糊搜索并分页实例

    在写django项目的时候,有的数据没有使用模型管理(数据表是动态添加的),所以要直接使用mysql.前端请求数据的时候可能会指定这几个参数:要请求的页号,页大小,以及检索条件. "&quo ...

  9. ThinkPHP分页实例

    ThinkPHP分页实例 (2014-09-20 15:34:36) 很多人初学thinkphp时,不太熟悉thinkphp的分页使用方法,现在将自己整理的分页方法分享下,有需要的朋友可以看看. 控制 ...

最新文章

  1. OpenVINO实时人脸表面3D点云提取
  2. Spark Streaming揭秘 Day9 从Receiver的设计到Spark框架的扩展
  3. 机会是怎么变成陷阱的?
  4. python 字符串、列表和元祖之间的切换
  5. 记一次重大的生产上线事故,借此反思成长
  6. 图文教程:如何将电脑TXT文档传到iPhone5并阅读之(无需越狱)
  7. JavaScript数据结构与算法——数组详解(上)
  8. 【春华秋实】.NET Core之只是多看了你一眼
  9. python变量类型怎么决定的_Python数据类型提示痛点的解决方案探讨
  10. php 什么时候传引用,什么时候在PHP中使用传递引用?
  11. javascript在第三个文本框中显示文字_一段中的个别文字,显示在目录中
  12. 多媒体领域顶会,ACM MM 2020 会议论文下载
  13. 线程之线程同步(1)
  14. window下安装sonar
  15. The Django Book(一)
  16. 传说中的世界500强面试题-怪题
  17. oracle sde 千万数据,Oracle+sde数据备份恢复(转自GIS帝国论坛)
  18. HTML列表、表格与媒体元素
  19. 跨世代保留精英遗传(基因)算法(intergenerational reserved Elitism Genetic Algorithm)
  20. 学习python第十五天,面对对象

热门文章

  1. Know more about AWR Parse Statistics
  2. Linux中查看信息的命令
  3. 赛门铁克公告:解密Kneber恶意软件
  4. 在 Lotus Notes 中设置邮件定时发送的方法及代理功能介绍
  5. ORIG1和ORIG2的运用
  6. 802.11n 原理解析
  7. PAT甲级1125 Chain the Ropes:[C++题解]贪心、优先队列、合并果子
  8. 台湾国立大学郭彦甫Matlab教程笔记(21)linear equations(高斯消去法和追赶法)
  9. 国二c语言改错题答案,c语言国二考试编程题答案
  10. android 取消按钮禁止,android – 如何强制IntentService立即停止与取消按钮从一个活动?...