小龙哥
小龙哥
  • 发布:2017-09-27 11:03
  • 更新:2018-08-06 11:45
  • 阅读:4503

mui.ajax 缓存如何设置?

分类:MUI

有一个项目需要用到缓存,界面需要每次都取上次的缓存数据,然后再更新新的数据。
发现 cache:true 设置已经失效了(ios测试的结果)
mui.ajax的帮助文案里面,也没有关于 cache:true 的任何说明了,估计是了取消了这个功能。
有没有其它的替代办法?

2017-09-27 11:03 负责人:无 分享
已邀请:
回梦無痕

回梦無痕 - 暂停服务

自己做缓存,我有一个APP都是自己做类似的缓存的,每一次请求都会把请求结果保留下来存到本地,下次先直接加载这些保留的数据,然后再进行新的请求。

  • 小龙哥 (作者)

    目前我自己做了缓存,存在plus.storage里面,如果系统能自带就更好啦~~

    2017-09-27 14:00

  • 回梦無痕

    回复 小龙哥:ajax的cache:true不是你这样用的。如果这个设置生效,是直接返回未过期的缓存数据,而不会请求到最新数据。达不到你的说先加载缓存后加载新数据的效果。

    2017-09-27 14:07

  • redzippo

    效率如何?我之前试过请求先读取缓存,再请求,再重新覆盖,感觉效率还不如直接请求高。。。你们怎么做的?

    2017-09-27 16:05

  • 回梦無痕

    回复 redzippo:读取缓存效率高,因为用户网络不会都是那么好的。就算后台对api做了cdn,在不同地区,请求速度都有很大的差异。

    2017-09-28 09:32

  • redzippo

    收到,感谢!在网络测试方面,有没有什么好的方案建议呢?研发工程师很难体验到这种实际场景

    2017-09-28 12:13

  • 回梦無痕

    回复 redzippo:http://www.webkaka.com/webCheck.aspx 这个网址可以测试,但是不是特别准确,只能作为参考,而且只能测用域名解析的api。如果tcp连接或者ip作为api,那没办法了。

    2017-09-28 12:19

  • redzippo

    非常感谢,我们就是http的接口,正好适用哈

    2017-09-28 12:54

redzippo

redzippo

重写一下mui.ajax方法,中间加上自己实现的用request的url+parm读取缓存的过程,然后再调用mui.ajax实现真正的请求,不太复杂的

1***@qq.com

1***@qq.com

1.请求地址+参数作为缓存的 key 把数据作为 value 加入缓存 然后在发送请求的时候做处理

var cacheData = zlapp.getDataCache(urlParameter); //获取缓存  
        if(zlapp.isEmpty(cacheData)) {  
            $ && $.ajax(_ajaxUrl, ajaxOptions);  
        } else {  
            //console.log("=========缓存读取=========");  
            ajaxOptions.success(cacheData);  
        }

该问题目前已经被锁定, 无法添加新回复