回覆列表
  • 1 # EndyC

    建議使用datatables,資料來源採用ajax source,options配置中

    {

    bServer:true,

    bPagination:true

    }

    完全就能滿足你的需求。而且所有的增刪查改在前後端均會同步。

    其原理是前端透過分頁引數獲取資料後會在js的context下維護一個數組物件用於存放資料表,此表與後臺資料完全對映。自帶的search功能預設可以對前端js維護的資料表進行索引查詢,也可以透過函式過載改寫為直接使用select like來對後端整表進行查詢。非常方便。

    如果是後臺產生資料更新而非前端主動產生,有幾種方法:

    1、ajax source設定timer自動更新,系統負擔與timer的頻率成正比;

    2、使用部分瀏覽器支援的websocket建立一個長連線,更新後通知前端;

    3、使用部分瀏覽器支援的notifications功能

    web開發技術日益更新不進則退,我的專案更新日誌裡有很多都是對技術框架的更新log,並且效果卓著。舉例說明,我的專案中最早使用的datatables版本是1.10,沒有使用ajax source進行分頁讀取資料庫,而是全部讀取後前端分頁。在資料量增大後效率極具下降。前後端均加上時間列印後發現,PHP+mysql的總用時為0ms,而前端建立js資料表花了近10s。於是前往官網檢視最佳化方式,看到版本已更新為1.13則順手更新了整個模組,沒想到之前的近10s耗時隨著這次更新降到了幾百ms的級別,瞬間解決了效率問題。開源的強大就在於你不是一個人在戰鬥,你遇到的問題,別人也會遇到,可能早就解決。

  • 中秋節和大豐收的關聯?
  • 鬥魚平臺與酷狗合作推出“造星計劃”,是否意在向娛樂圈發展?