为什么Chrome控制台调用Fetch API发起请求总返回net::ERR_FAILED?
问题排查方案
- 高概率原因:当前页面的内容安全策略(CSP)限制
你在任意站点页面打开控制台执行fetch时,请求会受到当前站点配置的CSP规则约束,多数主流站点都会配置严格的CSP阻止未授权的外域请求,而浏览器地址栏直接发起的请求不受页面CSP限制,所以会出现地址栏访问正常、控制台fetch返回net::ERR_FAILED的情况。
验证方式:打开about:blank空白页面,开启开发者工具控制台重新执行你的测试代码,若请求正常返回即可确认是该问题。 - 可能原因:Chrome扩展拦截
代理、广告拦截、隐私防护类的Chrome扩展可能会主动拦截控制台发起的跨域请求,你可以打开Chrome无痕模式(默认禁用所有扩展),重新测试请求。 - 可能原因:Chrome配置异常
你可以前往chrome://flags/页面,点击顶部「Reset all to default」重置所有实验性功能配置,重启Chrome后重试。如果仍有问题,检查Chrome的代理配置是否和系统代理匹配,排除代理规则拦截的可能。 - 可能原因:系统网络配置问题
你可以临时关闭M1 MacBook的系统防火墙后重试,也可以在Safari浏览器控制台执行相同的fetch代码,确认是否是Chrome单独的异常。
内容的提问来源于stack exchange,提问作者asdf
相关产品推荐
相关产品推荐

