常用静态数据从数据库读取还是用ajax读取文件?

苏子晨
  • 145

网页要用到一些数据,如地区代码表之类的。
之前的方案是php从数据库读取,然后渲染成html,
现在我想重构一下,把这些数据存入json文件,在前端用ajax获取并渲染。

这样做有意义吗

回复
阅读 3.1k
5 个回答
斑驳光影
  • 2.1k
✓ 已被采纳

分几种情况去做:

  1. 如果是永远不变的东西,那么你通过接口返回json,然后直接保存到localStorage里面去,页面加载的时候先去localStorage中去拿,拿不到在通过接口去拿然后缓存
  2. 如果是定时变的东西,那么你可以通过方法1缓存数据,然后再在localStorage里面存入存储的时间戳,每次加载页面去比对,如果超过一定时间,则重新获取数据
  3. 上面说的都是前端的方法,如果配合服务端或者CDN,可以加上缓存头,也可以设置获取的频率,或者是304返回
  4. 还有很多,暂时想不起来了
  1. 安全方面的考虑:直接渲染 html 的时候,浏览器拿到 html 的同时,数据就已经明文存在在全局变量里面了;
  2. 兼容方面的考虑:api 可以保留不同版本,以返回兼容各个版本的数据;
  3. 还有就是写作 api,前后端都比较容易维护吧

你做成json文件,可以直接放在项目内.用文件操作不就可以了.还减少了网络通讯

看你这个代码表是业务内部定的,还是国家定的。

前者还是放数据库好一些,因为可能业务不会写代码只会在后台去修改这些。

后者的话抽出来是好的,如果很多地方都需要用到的话就写进 js,如果只有那个页面读就写死在页面上。

如果是不会经常改变的东西,可以直接写一个json

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏