首页 >web前端 >js教程 >如何解决'无'Access-Control-Allow-Origin'标头”CORS 错误?

如何解决'无'Access-Control-Allow-Origin'标头”CORS 错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-22 16:43:10803浏览

How Can I Resolve

“API 响应中不存在‘Access-Control-Allow-Origin’标头”

用于标头问题解决的 CORS 代理

如果您缺乏对服务器的控制,您可以通过以下方式绕过标头缺陷使用 CORS 代理。一种易于部署的选项是 cors-anywhere (https://github.com/Rob--W/cors-anywhere),可以使用几个命令进行设置。此代理将必要的 Access-Control-Allow-Origin 标头添加到响应中。

避免 CORS 预检

由于授权标头,相关代码会触发 CORS 预检。此外,Content-Type: application/json 也可以引发预检。为了避免这种情况,必须修改服务器以使用必要的标头适当地响应预检 OPTIONS 请求。或者,可以考虑设计请求以避免这些触发器(例如,使用不同的标头或嵌入式 JSON)。

“通配符”访问控制允许来源问题

对于带有凭据的响应,Access-Control-Allow-Origin 标头的值不能为“*”。它必须与前端代码的来源精确匹配,例如“http://127.0.0.1:3000”。可以调整服务器配置以自动反映标头中的原始值。

删除不必要的请求标头

从 JavaScript 代码中删除这些行,因为它们代表响应标头和不应包含在请求中:

headers.append('Access-Control-Allow-Origin', 'http://localhost:3000');
headers.append('Access-Control-Allow-Credentials', 'true');

以上是如何解决'无'Access-Control-Allow-Origin'标头”CORS 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn