亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery DataTables插件自定義Ajax分頁實例解析

2019-11-20 09:58:30
字體:
來源:轉載
供稿:網友

一、問題描述
園友是做前端的,產品經理要求他使用jQuery DataTables插件顯示一個列表,要實現分類效果。

后端的分頁接口已經寫好了,不涉及條件查詢,需要傳入頁碼(pageNo)和頁面顯示數據條數(pageSize),顯示相應頁的顯示記錄,且不能修改后端接口。

二、分析
先來分析下分頁實現。
一是后端分頁:這種情況下,在后端很容易實現,在官網上有示例,不多說明。
二是前端分頁:前端分頁也是支持的,不過需要一次把所有數據都獲取到才可以。

看到這里,問題來了。由于后端在目前的情況下是更改不了,只能在前端實現。但是,現在又不滿足前端分頁的條件

一次性獲取所有數據(現在后端數據接口只能返回相應頁碼的數據)。

介于目前的情況,獲取的數據只有一頁,沒有所有的頁碼。
試試能不能偽裝一下后端分頁的情況,就是開啟后端分頁,在請求之前,將傳入的數據進行重組,在獲取到數據后,將返回的數據按照后端分頁的數據格式組裝一遍。

經過測試,是可以的。

三、實現
通過DataTables配置參數ajax項實現的。關于ajax詳細介紹請看官方說明:中文 | 英文

ajax接收三種類型的參數:
*string: 設置獲取數據的url
*object:和 jQuery.ajax 定義類似
*function:自定義獲取數據的功能
直接上代碼吧,都有注釋。
前端頁面代碼:

<html xmlns="http://www.w3.org/1999/xhtml"><head> <title>jquery DataTables插件自定義分頁ajax實現</title> <link  rel="stylesheet" media="screen"> <link  rel="stylesheet" media="screen"> <link  rel="stylesheet" media="screen"></head><body><div class="row-fluid"> <h3>JQuery DataTables插件自定義分頁Ajax實現</h3> <table id="example" class="display table-striped table-bordered table-hover table-condensed" cellspacing="0" width="100%"> <thead> <tr> <th>編號</th> <th>姓名</th> <th>性別</th> </tr> </thead> </table></div><script src="http://cdn.bootcss.com/datatables/1.10.11/js/jquery.js"></script><script src="http://cdn.bootcss.com/bootstrap/3.3.6/js/bootstrap.min.js"></script><script src="http://cdn.bootcss.com/datatables/1.10.11/js/jquery.dataTables.min.js"></script><script src="http://cdn.bootcss.com/datatables/1.10.11/js/dataTables.bootstrap.min.js"></script><script type="text/javascript"> $(function () { //提示信息 var lang = { "sProcessing": "處理中...", "sLengthMenu": "每頁 _MENU_ 項", "sZeroRecords": "沒有匹配結果", "sInfo": "當前顯示第 _START_ 至 _END_ 項,共 _TOTAL_ 項。", "sInfoEmpty": "當前顯示第 0 至 0 項,共 0 項", "sInfoFiltered": "(由 _MAX_ 項結果過濾)", "sInfoPostFix": "", "sSearch": "搜索:", "sUrl": "", "sEmptyTable": "表中數據為空", "sLoadingRecords": "載入中...", "sInfoThousands": ",", "oPaginate": { "sFirst": "首頁", "sPrevious": "上頁", "sNext": "下頁", "sLast": "末頁", "sJump": "跳轉" }, "oAria": { "sSortAscending": ": 以升序排列此列", "sSortDescending": ": 以降序排列此列" } }; //初始化表格 var table = $("#example").dataTable({ language:lang, //提示信息 autoWidth: false, //禁用自動調整列寬 stripeClasses: ["odd", "even"], //為奇偶行加上樣式,兼容不支持CSS偽類的場合 processing: true, //隱藏加載提示,自行處理 serverSide: true, //啟用服務器端分頁 searching: false, //禁用原生搜索 orderMulti: false, //啟用多列排序 order: [], //取消默認排序查詢,否則復選框一列會出現小箭頭 renderer: "bootstrap", //渲染樣式:Bootstrap和jquery-ui pagingType: "simple_numbers", //分頁樣式:simple,simple_numbers,full,full_numbers columnDefs: [{ "targets": 'nosort', //列的樣式名 "orderable": false //包含上樣式名‘nosort'的禁止排序 }], ajax: function (data, callback, settings) { //封裝請求參數 var param = {}; param.limit = data.length;//頁面顯示記錄條數,在頁面顯示每頁顯示多少項的時候 param.start = data.start;//開始的記錄序號 param.page = (data.start / data.length)+1;//當前頁碼 //console.log(param); //ajax請求數據 $.ajax({  type: "GET",  url: "/hello/list",  cache: false, //禁用緩存  data: param, //傳入組裝的參數  dataType: "json",  success: function (result) {  //console.log(result);  //setTimeout僅為測試延遲效果  setTimeout(function () {  //封裝返回數據  var returnData = {};  returnData.draw = data.draw;//這里直接自行返回了draw計數器,應該由后臺返回  returnData.recordsTotal = result.total;//返回數據全部記錄  returnData.recordsFiltered = result.total;//后臺不實現過濾功能,每次查詢均視作全部結果  returnData.data = result.data;//返回的數據列表  //console.log(returnData);  //調用DataTables提供的callback方法,代表數據已封裝完成并傳回DataTables進行渲染  //此時的數據需確保正確無誤,異常判斷應在執行此回調前自行處理完畢  callback(returnData);  }, 200);  } }); }, //列表表頭字段 columns: [ { "data": "Id" }, { "data": "Name" }, { "data": "Sex" } ] }).api(); //此處需調用api()方法,否則返回的是JQuery對象而不是DataTables的API對象 });</script></body></html>

JSON數據格式:

效果圖:

精彩專題分享:jquery分頁功能操作 JavaScript分頁功能操作

本文就介紹到這里,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
538国产精品一区二区免费视频| 国产欧美亚洲精品| 国产视频精品va久久久久久| 久久国产精品99国产精| 国产在线视频91| 成人免费视频xnxx.com| 精品国产老师黑色丝袜高跟鞋| 91精品国产综合久久香蕉922| 亚洲国产精品久久精品怡红院| 国产精品18久久久久久首页狼| 久久久精品一区二区三区| 亚洲美女在线看| 亚洲国产精品久久91精品| 精品成人在线视频| 久久福利视频网| 亚洲日本成人女熟在线观看| 欧美精品免费播放| 国产精品91视频| 色综合视频一区中文字幕| 国产中文字幕亚洲| 国内精品久久久久| 97精品免费视频| 亚洲自拍欧美色图| 亚洲综合中文字幕在线观看| xvideos国产精品| 久久精品国产亚洲精品2020| 欧美成人午夜视频| 国产精品aaa| 中文字幕日韩av| 久久久精品国产亚洲| 91成人国产在线观看| 欧美精品videosex性欧美| 欧美有码在线观看视频| 日韩欧美中文字幕在线播放| 国内精品久久久久久影视8| 欧美大片在线影院| 黑人极品videos精品欧美裸| 国产日韩精品视频| 亚洲视频一区二区三区| 亚洲欧美中文日韩在线v日本| 久久九九精品99国产精品| 国产成人精品在线视频| 日韩美女在线观看| 精品久久久久久国产91| 国产精品99导航| 久久久久久这里只有精品| 奇米一区二区三区四区久久| 久久天天躁狠狠躁夜夜躁| 91精品在线看| 日韩精品中文字幕有码专区| 超碰91人人草人人干| 亚洲区一区二区| 26uuu另类亚洲欧美日本老年| 久久久亚洲影院你懂的| 国语对白做受69| 欧美电影免费播放| 色999日韩欧美国产| 欧美男插女视频| 在线看片第一页欧美| 欧美精品手机在线| 久久久影视精品| 国产又爽又黄的激情精品视频| 久久免费视频网站| 国产亚洲一级高清| 亚洲电影av在线| 综合av色偷偷网| 自拍偷拍亚洲欧美| 中文字幕亚洲综合| 久久综合免费视频影院| 一本一本久久a久久精品牛牛影视| 欧美激情欧美狂野欧美精品| 亚洲区免费影片| 日韩精品亚洲视频| 在线丨暗呦小u女国产精品| 97人洗澡人人免费公开视频碰碰碰| 美女少妇精品视频| 午夜免费日韩视频| 欧美乱大交xxxxx| 欧美一区二区影院| 九九九热精品免费视频观看网站| 欧美精品九九久久| 91国产美女在线观看| 国产盗摄xxxx视频xxx69| 欧美性猛交xxxx免费看漫画| 久久综合电影一区| 国产专区欧美专区| 91亚洲国产成人久久精品网站| 久久噜噜噜精品国产亚洲综合| 国产免费成人av| 538国产精品一区二区免费视频| 日韩欧美精品在线观看| 国产精品久久久亚洲| 中文一区二区视频| 成人美女av在线直播| 亚洲国内精品视频| 亚洲天堂视频在线观看| 日韩在线观看成人| 日本91av在线播放| 国产一区二区激情| 日韩动漫免费观看电视剧高清| 国外成人免费在线播放| 色中色综合影院手机版在线观看| 亚洲精品日韩在线| 亚洲欧美日韩在线一区| 欧美日韩亚洲高清| 91精品国产综合久久香蕉| 91av免费观看91av精品在线| 2019中文字幕免费视频| 亚洲男人7777| 国产视频精品va久久久久久| 在线丨暗呦小u女国产精品| 国产精品久久婷婷六月丁香| 中文字幕av日韩| 欧美猛交ⅹxxx乱大交视频| 亚洲高清久久网| 成人黄色中文字幕| 美日韩在线视频| 久久综合免费视频影院| www.国产精品一二区| 日韩成人性视频| 亚洲精品二三区| 色偷偷噜噜噜亚洲男人| 欧美色道久久88综合亚洲精品| 欧美激情videos| 久久人人爽人人爽人人片亚洲| 青青久久av北条麻妃海外网| 久久国产精品久久国产精品| 国产福利成人在线| xxav国产精品美女主播| 亚洲三级 欧美三级| 国模精品视频一区二区| 欧美激情在线播放| 亚洲精品中文字幕有码专区| 亚洲久久久久久久久久| 成人97在线观看视频| 日本国产欧美一区二区三区| 精品福利免费观看| 日韩欧美国产中文字幕| 欧美日韩国产黄| 国产精品久久久久影院日本| 国产精品极品美女在线观看免费| 91久久久久久久久久| 日韩小视频在线| 黄色成人在线免费| 国产精品美女在线观看| 亚洲开心激情网| 亚洲欧美在线第一页| 高清欧美电影在线| 日韩中文字幕不卡视频| 国模吧一区二区三区| 国产一区二区黑人欧美xxxx| 久久精品美女视频网站| 88xx成人精品| 亚洲成人久久网| 亚洲欧洲国产精品| 中文字幕av一区| 国产一区二区三区日韩欧美| 欧美日韩国产一区中文午夜| 日本人成精品视频在线| 成人网在线视频| 国产成人综合av| 亚洲精品国产精品乱码不99按摩| 国产精品亚洲欧美导航| 久久综合免费视频影院|