【问题标题】:CORS error not allowing access to API data in reactCORS 错误不允许在反应中访问 API 数据
【发布时间】:2021-07-30 06:43:36
【问题描述】:

我正在尝试从 localhost 访问 https api 以访问用户数据。但是在尝试这样做时,即使在应用了必要的标头配置后,我也会收到 CORS 错误。

axios.get('https://myURL', 
     { headers: { 'Authorization': AuthStr, 'Access-Control-Allow-Origin': '*', 
              'Access-Control-Allow-Headers': '*', 
              'Access-Control-Allow-Methods': "GET, PUT, POST, DELETE, HEAD, OPTIONS" } 
               }, { crossDomain: true })
                .then((response) => {
                    console.log("response",response);
      });

我错过了什么吗?我试图参考相关链接并应用建议的解决方案,但它们都不起作用。我无法摆脱以下错误:

Access to XMLhttpsrequest has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

注意:当尝试从 Postman 访问相同的 URL 时,会正确显示数据。 请帮忙!

【问题讨论】:

  • 对您的设置一无所知,这更可能是 https://myURL 的 cors 设置问题,而不是请求的 cors 标头。
  • API 是否允许来自 localhost 的请求?
  • CORS 标头需要由 服务器 设置,而不是客户端。
  • 尝试从 Postman 作品访问时的相同请求。所以我猜问题出在客户端。

标签: reactjs cors


【解决方案1】:

CORS 标头在请求中并不那么重要。必须在响应中发出 CORS 标头。

服务器决定从哪个 CORS 来源接收请求。

因此解决方案是在服务器端配置端点以在响应中返回正确的 CORS 策略标头。

这里的关键是服务器返回给客户端的是哪些头,而不是客户端发送给服务器的头。

【讨论】:

  • 如果你要投反对票,至少要通过表达你投反对票的原因来使其具有建设性......否则它对找到正确答案的贡献很小。
猜你喜欢
  • 2020-05-03
  • 2017-12-28
  • 1970-01-01
  • 2020-08-16
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 2021-09-07
  • 2018-11-12
相关资源
最近更新 更多