国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS實現(xiàn)前端緩存的方法

2024-05-06 15:26:24
字體:
供稿:網(wǎng)友

在前端瀏覽器中,有些數(shù)據(jù)(比如數(shù)據(jù)字典中的數(shù)據(jù)),可以在第一次請求的時候全部拿過來保存在js對象中,以后需要的時候就不用每次都去請求服務(wù)器了。對于那些大量使用數(shù)據(jù)字典來填充下拉框的頁面,這種方法可以極大地減少對服務(wù)器的訪問。這種方法特別適用于使用iframe的框架。

具體實現(xiàn)思路和方法:

創(chuàng)建一個cache.js文件:

1、前端頁面,定義那些數(shù)據(jù)需要一次性拿到前端緩存,定義一個對象來保存這些數(shù)據(jù):

/** * 定義需要在用戶登錄的時候獲取到本地的數(shù)據(jù)字典類別 */var clsCodes = {clsCodes :    [BOOL,     STATUS,     USER_TYPE,     REPORT_STATUS   ]}; /** * 獲取數(shù)據(jù)字典到本地 */var dicts;

2、前端頁面,定義一個函數(shù)來調(diào)用后臺接口獲取數(shù)據(jù),然后保存到本地緩存對象(dicts)中。

function getDicts() {  $.post(getContextPath() + /api/sys/getDictList,      clsCodes,      function(resultBean, status, xhRequest) {        if (resultBean.data != undefined) {          dicts = resultBean.data;        }      },       'json');}

在主頁面加載的時候調(diào)用這個方法一次性獲取數(shù)據(jù)并緩存起來。這樣,以后需要同樣的數(shù)據(jù),就直接從本地對象dicts中獲取了。

后端Controller:

3、定義一個接口,根據(jù)前端的請求,查詢數(shù)據(jù)庫(或查詢服務(wù)器緩存,如下面例子中)獲取數(shù)據(jù)返回給前端:

/** * 根據(jù)多個分類編號獲取多個字典集合 * @param clsCodes * @return {{clsCode : {code1:name1,code2:name2...}}, ...} */@SuppressWarnings({ unchecked, rawtypes })@ResponseBody@RequestMapping(getDictList)public ResultBean getDictList(@RequestParam(value = clsCodes[], required = true) String[] clsCodes) {  ResultBean rb = new ResultBean();     Map<string, string="">> dictCache = (Map<string, string="">>) CacheManager.getInstance().get(CacheConstants.DICT);  Map dictMap = new LinkedHashMap<>(); //使用LinkedHashMap保證順序   if(dictCache != null){    for(String clsCode: clsCodes){      dictMap.put(clsCode, dictCache.get(clsCode));    }  }else{    rb.setMessage(緩存中拿不到字典信息!);    rb.setSuccess(false);  }   rb.setData(dictMap);  return rb;}</string,></string,>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持錯新站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 富源县| 浦县| 墨脱县| 闵行区| 乐都县| 道孚县| 乌审旗| 青浦区| 砀山县| 渝北区| 石渠县| 信阳市| 武义县| 民丰县| 博罗县| 尚义县| 荣昌县| 东光县| 凭祥市| 报价| 寿宁县| 巴中市| 大兴区| 关岭| 农安县| 汤原县| 长泰县| 奉新县| 明光市| 铁岭市| 建昌县| 天峻县| 六枝特区| 彭州市| 安泽县| 博白县| 易门县| 南漳县| 建水县| 庄浪县| 西乡县|