手账正文
网页提示 CORS 错误?哪些自己能查,哪些要网站修
网页能打开,点按钮却提示 CORS,看起来像“开代理把网站弄坏了”。先别急着关浏览器保护,这个提示需要结合具体请求判断。
CORS 可以理解成网页读取接口的许可规则
网页与它访问的接口如果不属于同一个来源,浏览器会检查接口是否允许读取响应。来源与协议、主机名和端口有关,不是单纯看出口 IP 在哪里。
所以,只换一个普通转发节点,并不会因为 IP 变了就自动让同一网页变成另一个来源。
先看请求有没有真正连接成功
部分看似跨域的错误,也可能由网络失败、证书问题或扩展拦截引起。打开开发者工具后重现一次,记录完整报错和 Network(网络)里的失败请求。
别只截控制台里“CORS”几个字,把真正的连接错误裁掉。
有些请求会先发一次“询问”
这类预检通常使用 OPTIONS,先问接口是否允许后续操作。预检失败,真正的提交可能还没有发生;预检通过,也不代表实际响应一定满足所有条件。
普通用户先记录失败发生在哪一步。涉及登录凭据时,网站允许来源与凭据的设置还需要相互匹配,通常要由维护者处理。
自己可以做的,是有限对照
保持网址和操作不变,比较另一个浏览器或自己的另一种网络,检查刚启用的扩展是否有关。尽量用只读操作复现,别反复提交订单或表单。
如果确认请求能到达,却缺少网站应提供的许可信息,就把资料交给维护者。关闭浏览器安全检查、安装来路不明的“跨域修复”扩展,不是普通用户的常规解决方法。
评论