摘要:在涉及到組件的分頁功能時(shí),遇到了一點(diǎn)問題。由于數(shù)據(jù)較多,這邊不予展示。返回的數(shù)據(jù)必須是符合要求的數(shù)據(jù),格式如下必須帶有屬性,屬性值為總共的數(shù)據(jù)條數(shù),是這一頁的數(shù)據(jù)內(nèi)容,以數(shù)組對象的形式返回。
第一次寫技術(shù)方面的文章,有點(diǎn)忐忑,總怕自己講的不對誤導(dǎo)別人。但是萬事總有個(gè)開頭,有不足錯(cuò)誤之處,請各位讀者老爺指出。
言歸正傳,最近剛進(jìn)新公司,上頭要求我先熟悉熟悉easyui這個(gè)組件庫。在涉及到datagrid組件的分頁功能時(shí),遇到了一點(diǎn)問題。
我們在處理分頁時(shí),通常有兩種方式,前端分頁和后臺分頁。前端分頁會(huì)將后臺數(shù)據(jù)一次性全部查詢返回,然后在前端存儲處理。這樣的方式缺點(diǎn)很明顯,如果數(shù)據(jù)量非常大,存儲在前端顯然是一種非常不明智的方式,對于性能有明顯影響。
那我們來看看easyui處理分頁的方式。
姓名 | 學(xué)號 | 學(xué)校 | 專業(yè) | 操作 |
---|
以上是頁面上的代碼,當(dāng)設(shè)置pagination屬性為true時(shí),easyui會(huì)自動(dòng)加上一個(gè)分頁器。這個(gè)分頁器,當(dāng)頁面加載或者是用戶改變當(dāng)前頁面時(shí),easyui會(huì)以ajax的方式發(fā)送給后臺兩個(gè)參數(shù):page和row。page是指當(dāng)前頁碼,row指一頁顯示多少條信息。
我們這邊用nodejs搭建一個(gè)簡單的web服務(wù)器,來看看后臺是怎么進(jìn)行分頁的。定義一個(gè)json對象,模擬一下數(shù)據(jù)庫里的數(shù)據(jù)。由于數(shù)據(jù)較多,這邊不予展示。當(dāng)easyui發(fā)送請求過來時(shí),我們先獲取它帶的參數(shù),這兩個(gè)參數(shù)是以query方式帶過來的。
var page = req.query.page;//page當(dāng)前頁 var row = req.query.rows;//頁面最多幾條 var start = (page-1)*row;//查詢起始位置 var end = page*row-1;//查詢結(jié)束位置
根據(jù)拿到的page和row兩個(gè)值確定該頁面返回的數(shù)據(jù)。返回的數(shù)據(jù)必須是符合easyui要求的json數(shù)據(jù),格式如下:
{"total":length,"rows":returnArray}
必須帶有total屬性,屬性值為總共的數(shù)據(jù)條數(shù),returnArray是這一頁的數(shù)據(jù)內(nèi)容,以數(shù)組對象的形式返回。返回前端后,easyui會(huì)自動(dòng)幫你把數(shù)據(jù)填充。這樣一來,我們就理解了這個(gè)分頁的原理。
但是問題來了,easyui每一次改變當(dāng)前頁碼,都會(huì)向后臺發(fā)起一次請求。我們知道,在web項(xiàng)目中,大量的http請求會(huì)影響性能,easyui如此頻繁的請求操作,是不是也值得商榷呢?這也導(dǎo)致了大量的重復(fù)對數(shù)據(jù)庫的查詢操作,因?yàn)槲覀円鶕?jù)頁碼來獲取不同區(qū)間的數(shù)據(jù)集。
不知道大家有沒有什么好的方法呢?歡迎指正。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/49858.html
摘要:在涉及到組件的分頁功能時(shí),遇到了一點(diǎn)問題。由于數(shù)據(jù)較多,這邊不予展示。返回的數(shù)據(jù)必須是符合要求的數(shù)據(jù),格式如下必須帶有屬性,屬性值為總共的數(shù)據(jù)條數(shù),是這一頁的數(shù)據(jù)內(nèi)容,以數(shù)組對象的形式返回。 第一次寫技術(shù)方面的文章,有點(diǎn)忐忑,總怕自己講的不對誤導(dǎo)別人。但是萬事總有個(gè)開頭,有不足錯(cuò)誤之處,請各位讀者老爺指出。 言歸正傳,最近剛進(jìn)新公司,上頭要求我先熟悉熟悉easyui這個(gè)組件庫。在涉及到...
摘要:最近在做手機(jī)端,發(fā)現(xiàn)下拉刷新和上拉加載的控件很少而且自我感覺不好用,比如之類然后自己寫了個(gè)懶加載的,也很簡單,最基礎(chǔ)的代碼不喜勿噴,但蠻實(shí)用的手機(jī)端懶加載分頁用之前先引用下這里的表示距離底部像素觸發(fā),可自行調(diào)節(jié)第頁這里放你的分頁代碼這是刷 最近在做手機(jī)端,發(fā)現(xiàn)下拉刷新和上拉加載的jq控件很少而且自我感覺不好用,比如iscroll之類…… 然后自己寫了個(gè)懶加載的,也很簡單,最基礎(chǔ)的代碼【...
閱讀 3445·2021-09-26 09:46
閱讀 2792·2021-09-13 10:23
閱讀 3533·2021-09-07 10:24
閱讀 2400·2019-08-29 13:20
閱讀 2926·2019-08-28 17:57
閱讀 3080·2019-08-26 13:27
閱讀 1187·2019-08-26 12:09
閱讀 514·2019-08-26 10:27