V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
milukun
V2EX  ›  程序员

有没 React 大佬问个 iOS 端网络请求一直走缓存的问题

  •  
  •   milukun · 13 天前 · 1031 次点击
    我们的 Flutter app 里面有一个 H5 页面,但是奇怪的是这个页面里面访问 api 的时候,除了第一次访问,其他全部都是走的缓存,就是没有真正请求接口
    后端搜不到,(每次请求返回的数据都会有 id ,从控制台看 id 也是一样的)
    问题是已经禁用了缓存,在安卓上表现正常,在 iOS 上一直是缓存,除非杀掉 app ,重新进入。但是也只有第一次是全新的,后面全是缓存,这个有什么思路吗?
    12 条回复    2024-05-22 14:02:50 +08:00
    MozzieW
        1
    MozzieW  
       13 天前
    Safari 连电脑可以进入开发者模式。Flutter App 应该也可以,进去检查请求和返回的 header
    iOCZS
        2
    iOCZS  
       13 天前
    你用了什么库呢?有些库是有缓存功能的
    iOCZS
        3
    iOCZS  
       13 天前
    看错了,是 H5 的话,那就是 webview 自己有缓存,要看看怎么配置的
    maplelin
        4
    maplelin  
       13 天前   ❤️ 2
    是不是用了 swr 或者 react-query
    R1hu6Hs2sSN8pkVX
        5
    R1hu6Hs2sSN8pkVX  
       13 天前
    有没有可能是后台自己的缓存
    okakuyang
        6
    okakuyang  
       13 天前 via iPhone
    这种现象闻所未闻,没听说过脚本发起的请求还能缓存的,怕不是有什么地方把你请求拦截了。
    Drool
        7
    Drool  
       13 天前
    url 加时间戳试试呢
    jazzg62
        8
    jazzg62  
       13 天前
    服务器的 cache-control 是怎么配置的呢
    iosyyy
        9
    iosyyy  
       13 天前
    感觉框架的问题检查框架是否有缓存
    ugpu
        10
    ugpu  
       12 天前   ❤️ 1
    简单粗暴 加个时间戳:
    const url = `https://api.example.com/endpoint?timestamp=${new Date().getTime()}`;

    方法二:
    flutter 嵌入 H5 那应该是 webview? 加入标识: " 'Cache-Control': 'no-cache, no-store, must-revalidate',"

    ###
    onWebViewCreated: (WebViewController webViewController) {
    webViewController.clearCache();
    final Map<String, String> headers = {
    'Cache-Control': 'no-cache, no-store, must-revalidate',
    'Pragma': 'no-cache',
    'Expires': '0',
    };
    webViewController.loadUrl('https://your-h5-page-url.com', headers: headers);
    },
    ###

    还解决不了建议用户更换手机
    milukun
        11
    milukun  
    OP
       12 天前
    H5 的同事反馈是把缓存机制停掉了。但是还不知道为什么 iOS 会有问题,Android 不会
    milukun
        12
    milukun  
    OP
       12 天前
    停掉缓存机制后,正常了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3606 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 10:31 · PVG 18:31 · LAX 03:31 · JFK 06:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.