Weather API 请求 cors 错误

IT技术 javascript reactjs axios
2021-04-03 07:48:37

我试图从黑暗的天空 api 获取天气数据,但我不断收到 cors 错误。这是我的代码:

var url = `https://api.darksky.net/forecast/febb2871126cd24613f32a79c32d4158/${lat},${lon}`;
axios.get(url, config).then(response => {
    this.setState({
        ...
    })
}).catch(function (error) {
    console.log(error);
});

我收到错误消息“XMLHttpRequest 无法加载https://api.darksky.net/forecast/febb2871126cd24613f32a79c32d4158/38.5815719,-121.4943996。请求的资源上没有‘Access-Control-Allow-Origin’标头。来源: /ebcperez.github.io ' 因此不允许访问。”

3个回答

看起来 Darksky API 服务器不允许CORS,因此您将无法从浏览器发出此请求。

一种可能的解决方案是从您的应用程序服务器发出 API 请求,然后将其显示在前端。

这是为什么会发生这种情况的解释。tl;dr 是为您的请求使用 CORS 代理。https://cors-anywhere.herokuapp.com/ 添加到您的 API 的 URL。https://cors-anywhere.herokuapp.com/http://api.openweathermap.org ...

我希望这对你有用

嘿,这个解决方案对我不起作用,请帮忙
2021-05-24 07:48:37
你能详细说明一下吗?你说“这是为什么会发生这种情况的解释”,但我没有看到实际的解释。
2021-06-03 07:48:37
你可以分享你的代码片段,特别是你有哪些错误?
2021-06-06 07:48:37