javascript - Fetch to Express 返回旧数据
问题描述
当向 node express 服务器运行 fetch 请求时,它会返回旧数据(以前从同一端点返回)。这种情况偶尔会发生,但经常发生。
我已禁用Cache-Control
fetch 标头中的 ,但这不起作用。
Express 服务器通过 PM2 在 Windows Server 上运行,PM2 通过 IIS 中的反向代理(指向本地 pm2 主机,端口 5000)访问,并将 SSL 证书附加到域。
当后端通过我的机器(不是服务器)上的 localhost 托管时,不会发生这种情况。
我的获取请求如下:
fetch(URL, {
headers: {'Cache-Control':'no-cache'}
}).then(r=>r.json())
.then(json=>...)
有谁知道是什么原因造成的?我需要更改 Windows Server 或 IIS 中的首选项吗?或者PM2中有什么东西?
解决方案
我不得不修改 ISS 反向代理中的 Cache-Control 标头。
我按照@KrysztofKrzeszewski 的建议将其更改为 no-store,现在一切正常。
推荐阅读
- python - 从该实例中定义的另一个实例访问一个实例的属性
- python-3.x - python和无服务器框架的问题
- unity3d - Unity:渲染体素和性能所需的帮助
- java - MySQL:来自 information_schema 的结果集不一致
- c# - 使用隐藏到 json、ASP.NET 核心 API 的方法序列化多态 c# 类时出现异常
- if-statement - 将嵌套的条件 If 语句转换为复杂的 NSCompoundPredicate
- oracle - 带有 Oracle 变量的 Perl 脚本
- c# - 如何在 wmi c# 中检索 Win32_ComputerSystem 实例?
- node.js - 对于使用 Redis 作为数据库的 Nodejs API,我应该使用哪个云基础设施
- c - 操作 ASCII 中的数字以仅在字母范围内时出现问题