我正在使用 reactjs 构建一个仅限前端的基本天气应用程序。对于 API 请求,我使用的是 Fetch API。在我的应用程序中,我从我找到的一个简单 API 中获取当前位置,并将该位置作为 JSON 对象提供。但是当我通过 Fetch API 请求它时,我收到了这个错误。
Failed to load http://ip-api.com/json: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
所以我搜索并找到了多种解决方案来解决这个问题。
- 在 Chrome 中启用 CORS 解决了错误,但是当我在 heroku 上部署应用程序时,如何通过移动设备访问它而不会遇到相同的 CORS 问题。
- 我找到了一个启用 CORS 请求的代理 API。但由于这是一个位置请求,这给了我代理服务器的位置。所以这不是一个解决方案。
- 我已经完成了这个Stackoverflow 问题并将标头添加到我的 http 请求中的标头,但它没有解决问题。(仍然给出相同的错误)。
那么我怎样才能永久解决这个问题呢?我可以用来解决 Fetch API 中 http 请求的 CORS 问题的最佳解决方案是什么?