使用bootstrap-table等自動使用ajax地址載入數據的插件的數據設計建議


提出問題:

bootstrap-table 可以根據ajax地址load的json數據。這個json數據一般就是數據庫中查詢的結果,而數據庫中存放的數據一般不是用戶友好的,比如數據表示一般使用簡潔id或者英文,而將數據的具體定義放在其他位置。

舉個例子:

表格1: ***,**** ,類型id

表格1數據達到幾萬行,而數據中,類型id是個數字,類型id的解釋意義在其他表格中存放,一共只有三個類型。

如果我們直接載入表格1數據,那么在前端展示中,顯示的類型id是一串數字,顯然是不友好的。

解決這個問題的辦法有以下幾種:

1.在客戶端定義對類型id的解釋,某個id對應某個中文名稱,這個對應關系實際就是數據庫中的對應關系,但是由於這邊類型只有幾種,可以在代碼中寫死,不需要重新查詢數據庫。

  優點:簡單容易實現,不占用網絡流量

  缺點:代碼寫死,以后存在數據庫中類型增刪同時需要修改這部分代碼。如果這樣的代碼一多,維護成為一件非常可怕的事情。

2.在服務端就將返回數據替換為顯示的格式與意義。這個數據庫查詢時候直接獲取,在服務器里面修改代碼就可以實現

  優點:客戶端直接顯示即可,簡單

  缺點:占用流量變大,一個字節的內容變為多個字節。

3.將類型id這種數據單獨使用ajax查詢獲取數據,在客戶端獲取對應關系

  優點:占用流量小,代碼集中,具備自適應性來應對未來的數據改變

  缺點:客戶端需要增加一個ajax查詢,由於該查詢是的數據量非常小,也會很快。

 

綜上所述:

我認為第三種方法最好,這個不但可以將表現與具體數據分隔開,使得展示的代碼更加集中易於修改。並且占用網絡流量也不多。

 

注意:

請求表現格式的代碼不能直接放入data-formatter中,這樣做的話,會導致每讀一行都會請求表現數據,這個數據可以放在全局變量里面進行復用,或者放在jquery等閉包中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM