• 请不要在回答技术问题时复制粘贴 AI 生成的内容
milukun
V2EX  ›  程序员

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

  •  
  •   milukun · May 21, 2024 · 2127 views
    This topic created in 776 days ago, the information mentioned may be changed or developed.
    我们的 Flutter app 里面有一个 H5 页面,但是奇怪的是这个页面里面访问 api 的时候,除了第一次访问,其他全部都是走的缓存,就是没有真正请求接口
    后端搜不到,(每次请求返回的数据都会有 id ,从控制台看 id 也是一样的)
    问题是已经禁用了缓存,在安卓上表现正常,在 iOS 上一直是缓存,除非杀掉 app ,重新进入。但是也只有第一次是全新的,后面全是缓存,这个有什么思路吗?
    12 replies    2024-05-22 14:02:50 +08:00
    MozzieW
        1
    MozzieW  
       May 21, 2024
    Safari 连电脑可以进入开发者模式。Flutter App 应该也可以,进去检查请求和返回的 header
    iOCZS
        2
    iOCZS  
       May 21, 2024
    你用了什么库呢?有些库是有缓存功能的
    iOCZS
        3
    iOCZS  
       May 21, 2024
    看错了,是 H5 的话,那就是 webview 自己有缓存,要看看怎么配置的
    maplelin
        4
    maplelin  
       May 21, 2024   ❤️ 2
    是不是用了 swr 或者 react-query
    R1hu6Hs2sSN8pkVX
        5
    R1hu6Hs2sSN8pkVX  
       May 21, 2024
    有没有可能是后台自己的缓存
    okakuyang
        6
    okakuyang  
       May 21, 2024 via iPhone
    这种现象闻所未闻,没听说过脚本发起的请求还能缓存的,怕不是有什么地方把你请求拦截了。
    Drool
        7
    Drool  
       May 21, 2024
    url 加时间戳试试呢
    jazzg62
        8
    jazzg62  
       May 21, 2024
    服务器的 cache-control 是怎么配置的呢
    iosyyy
        9
    iosyyy  
       May 21, 2024
    感觉框架的问题检查框架是否有缓存
    ugpu
        10
    ugpu  
       May 22, 2024   ❤️ 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
       May 22, 2024
    H5 的同事反馈是把缓存机制停掉了。但是还不知道为什么 iOS 会有问题,Android 不会
    milukun
        12
    milukun  
    OP
       May 22, 2024
    停掉缓存机制后,正常了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5364 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 01:13 · PVG 09:13 · LAX 18:13 · JFK 21:13
    ♥ Do have faith in what you're doing.