解决 CORS 问题:“响应预检请求未通过访问控制检查”
尝试进行跨源资源共享时(CORS) 请求,开发人员可能会遇到错误“Response to preflight request does not pass access control check - No”存在“Access-Control-Allow-Origin”标头。”当托管所请求资源的服务器未配置适当的 CORS 标头以允许从请求域进行访问时,就会发生此错误。
修复 CORS 问题
有多种方法可以解决 CORS 问题:
1.禁用 CORS
在浏览器中暂时禁用 CORS 可以缓解该问题。但是,不建议在生产环境中这样做。
2.浏览器插件
使用绕过 CORS 限制的浏览器插件可以提供快速解决方案。然而,插件可能并不适合所有环境。
3.代理
实现代理,例如nginx,允许通过本地服务器代理请求,有效绕过CORS限制。
4.服务器配置
配置服务器接受来自指定域的 CORS 请求是最佳实践。具体配置取决于所使用的服务器软件。请参阅启用 CORS 等文档或服务以获取指导。
示例:
在 AWS 中,错误“405”表示服务器不允许 HTTP 方法使用(后)。对于提供的代码,请确保服务器允许“/s/login”路由的 POST 请求。
浏览器上下文:
从以下位置发出跨域请求时localhost,浏览器认为这是一个 CORS 请求。使用代理或在浏览器中关闭 CORS 可以缓解此问题,允许来自本地主机的请求到达服务器。
其他提示:
以上是如何解决'响应预检请求未通过访问控制检查”CORS 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!