“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中文网其他相关文章!