gpt4 book ai didi

node.js - 防止在 Express JS 中从缓存获取 Json 响应

转载 作者:太空宇宙 更新时间:2023-11-04 03:29:24 24 4
gpt4 key购买 nike

我正在使用 Express 和 Node 构建一个 Web,其中客户端使用 RESTful API 获取 Json 响应以显示对象列表。

创建新对象后,应用程序应请求更新后的对象列表的新 json 响应。 Chrome 工作正常 - 返回新的 json 响应,状态代码为 200 OK。然而,在 IE 和 Edge 中情况并不好 - 浏览器似乎只是从缓存中获取 json 响应(状态代码为 304),而不是发出新请求。如果我手动清除浏览器缓存数据,一切都会好起来的。

我尝试了这个解决方案:using a middleware to set max-age of cache-control res.header to be 0

function headerSet(req, res, next) {
res.header('Cache-Control', 'public, max-age=0');
return next();
}

在响应 header 中,我可以看到一致的设置正在生效,但是,IE 和 Edge 仍然拒绝发出新请求 - 我仍然收到带有 304 的未更新的 json 响应。

我可能做错了什么?

最佳答案

不要设置最大年龄,请尝试使用以下方法。

res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate');

关于node.js - 防止在 Express JS 中从缓存获取 Json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40277314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com