JavaScript如何实现前端缓存

在前端浏览器中,有些数据(比如数据字典中的数据),可以在第一次请求的时候全部拿过来保存在js对象中,以后需要的时候就不用每次都去请求服务器了。对于那些大量使用数据字典来填充下拉框的页面,这种方法可以极大地减少对服务器的访问。这种方法特别适用于使用iframe的框架。

具体实现思路和方法:

创建一个cache.js文件:

1、前端页面,定义那些数据需要一次性拿到前端缓存,定义一个对象来保存这些数据:

立即学习“Java免费学习笔记(深入)”;

/**  * 定义需要在用户登录的时候获取到本地的数据字典类别  */  var clsCodes = {"clsCodes" :          ["BOOL",           "STATUS",           "USER_TYPE",           "REPORT_STATUS"       ]  };    /**  * 获取数据字典到本地  */  var dicts;

登录后复制

2、前端页面,定义一个函数来调用后台接口获取数据,然后保存到本地缓存对象(dicts)中。

立即学习“Java免费学习笔记(深入)”;

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

登录后复制

在主页面加载的时候调用这个方法一次性获取数据并缓存起来。这样,以后需要同样的数据,就直接从本地对象dicts中获取了。

后端Controller:

3、定义一个接口,根据前端的请求,查询数据库(或查询服务器缓存,如下面例子中)获取数据返回给前端:

立即学习“Java免费学习笔记(深入)”;

/**  * 根据多个分类编号获取多个字典集合  * @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> dictCache = (Map>) 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;  }

登录后复制

相关推荐:

前端缓存机制的总结

写给前端的http缓存详解

前端几种本地缓存机制

使用JS实现前端缓存

以上就是JavaScript如何实现前端缓存的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2769607.html

(0)
上一篇 2025年3月8日 12:24:11
下一篇 2025年3月8日 12:24:23

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js如何获取本地图片显示到浏览器并上传至服务器

    这篇文章介绍的内容是关于浏览器显示本地图片的预览图,调用后端接口将图片上传至服务器,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 一、jsp页面 nbsp;html PUBLIC “-//W3C//DTD HTML 4.01…

    2025年3月8日 编程技术
    200
  • vue如何利用js等比压缩图片

    这篇文章介绍的内容是关于vue如何利用js等比压缩图片,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下最近做一个旅游项目 大家都知道旅游项目图片居多     1.在项目中由于图片尺寸过大  再加上给图片设置了宽高导致图片压缩严…

    2025年3月8日 编程技术
    200
  • 熟悉JS脚本在kettle数据处理的应用

    这篇文章介绍的内容是熟悉JS脚本在kettle数据处理的应用,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 解决方法:结合Generate Rows(数据生成)和Java Script Value(JS组件)及文本输入组件完…

    2025年3月8日 编程技术
    200
  • 浅谈JS的this调用对象

    这篇文章介绍的内容是关于浅谈JS的this调用对象,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 查一下资料得知js的this是指向调用的对象。 只有这一句话很难理解那来做个写个dome。 代码如下: nbsp;html&g…

    2025年3月8日
    200
  • 关于JS数组遍历方法的总结

    JS的数组遍历是项目中必须用到的,为了写出优雅的代码,将方法用在对的地方,在这里将几种方法做个对比,这里用es6的方式展示出来,需要搭建转换es5环境,这不是这篇的重点,下一篇可以写这个。 一、for循环 使用频率最高,前端都会用,表示自己…

    编程技术 2025年3月8日
    200
  • js获取网页数据后存储为Excel格式

    这篇文章介绍的内容是关于js获取网页数据后存储为Excel格式,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 做项目的时候遇到了将网页中table表格的数据以excel形式存储的问题,自己将相关的代码分享给大家,希望对大家有…

    2025年3月8日 编程技术
    200
  • nodeJS模块简单用法

    这篇文章主要介绍了nodejs模块简单用法,结合实例形式简单分析了nodejs模块定义、引入、注册、启动等相关操作技巧,需要的朋友可以参考下 本文实例讲述了nodeJS模块简单用法。分享给大家供大家参考,具体如下: 1.定义Student模…

    2025年3月8日
    200
  • JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码

    这篇文章主要介绍了js弹窗 js弹出p并使整个页面背景变暗功能的实现代码,需要的朋友可以参考下 1.首先写一个遮罩层p,然后再写一个弹窗的p           提示          js弹窗 js弹出p,并使整个页面背景变暗      …

    2025年3月8日
    200
  • JavaScript调用模式与this关键字绑定的关系

    这篇文章主要介绍了javascript调用模式与this关键字绑定的关系 的相关资料,需要的朋友可以参考下 Invocation 调用 调用一个函数将暂停当前函数的执行,传递控制权和参数给新函数。 实参与形参不一致不会导致运行时错误,多的被…

    编程技术 2025年3月8日
    200
  • AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例

    这篇文章主要介绍了angularjs使用filter自定义过滤器控制ng-repeat去除重复功能,结合实例形式分析了angularjs自定义过滤器的定义及数组过滤相关操作技巧,需要的朋友可以参考下 本文实例讲述了AngularJS使用Fi…

    2025年3月8日
    200

发表回复

登录后才能评论