鍍金池/ 問答/PHP  HTML/ 常用靜態(tài)數(shù)據(jù)從數(shù)據(jù)庫讀取還是用ajax讀取文件?

常用靜態(tài)數(shù)據(jù)從數(shù)據(jù)庫讀取還是用ajax讀取文件?

網(wǎng)頁要用到一些數(shù)據(jù),如地區(qū)代碼表之類的。
之前的方案是php從數(shù)據(jù)庫讀取,然后渲染成html,
現(xiàn)在我想重構(gòu)一下,把這些數(shù)據(jù)存入json文件,在前端用ajax獲取并渲染。

這樣做有意義嗎

回答
編輯回答
心夠野
  1. 安全方面的考慮:直接渲染 html 的時候,瀏覽器拿到 html 的同時,數(shù)據(jù)就已經(jīng)明文存在在全局變量里面了;
  2. 兼容方面的考慮:api 可以保留不同版本,以返回兼容各個版本的數(shù)據(jù);
  3. 還有就是寫作 api,前后端都比較容易維護(hù)吧
2017年9月10日 07:38
編輯回答
安若晴

你做成json文件,可以直接放在項(xiàng)目內(nèi).用文件操作不就可以了.還減少了網(wǎng)絡(luò)通訊

2017年9月14日 21:08
編輯回答
冷咖啡

分幾種情況去做:

  1. 如果是永遠(yuǎn)不變的東西,那么你通過接口返回json,然后直接保存到localStorage里面去,頁面加載的時候先去localStorage中去拿,拿不到在通過接口去拿然后緩存
  2. 如果是定時變的東西,那么你可以通過方法1緩存數(shù)據(jù),然后再在localStorage里面存入存儲的時間戳,每次加載頁面去比對,如果超過一定時間,則重新獲取數(shù)據(jù)
  3. 上面說的都是前端的方法,如果配合服務(wù)端或者CDN,可以加上緩存頭,也可以設(shè)置獲取的頻率,或者是304返回
  4. 還有很多,暫時想不起來了
2018年6月19日 09:29
編輯回答
逗婦惱

如果是不會經(jīng)常改變的東西,可以直接寫一個json

2017年10月23日 07:21
編輯回答
乖乖噠

看你這個代碼表是業(yè)務(wù)內(nèi)部定的,還是國家定的。

前者還是放數(shù)據(jù)庫好一些,因?yàn)榭赡軜I(yè)務(wù)不會寫代碼只會在后臺去修改這些。

后者的話抽出來是好的,如果很多地方都需要用到的話就寫進(jìn) js,如果只有那個頁面讀就寫死在頁面上。

2018年9月5日 05:03