我们的前端是 Angular,后端是 .Net Core 2.2。从前端调用到后端时,我遇到了间歇性 CORS 错误(或可能是其他问题)。
当我们在 Chrome 中调用后端 API 时,Chrome 有时会在控制台中抛出错误“...已被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' 标头。”,导致 webpag 无法加载. 发生错误时,没有响应内容,也没有响应头。当我禁用缓存(使用标头或 chrome 的 devtool)并禁用 CORS(使用 Chrome 扩展程序)时,可能会发生此问题。
我猜浏览器无法解析响应正文,所以我使用 fiddler 来跟踪响应:
最初我只得到 Empty Trunk "30 0D 0A 0D 0A" 并且 Fiddler 收到 500 错误。同时,Chrome 抛出 CROS 错误,网页无法加载。
如果我等待 30 秒到 1 分钟,Fiddler 记录从 500(失败)变为 200(成功):
这让我觉得这可能是分块传输编码的问题(如第三张图所示),所以我尝试通过为响应标头分配 ContentLength 来禁用分块编码。但问题仍然存在。
对这个错误有点绝望。任何见解/建议将不胜感激!