I am trying to get weather data from dark sky api and I keep getting a cors error. Here is my code:
var url = `https://api.darksky.net/forecast/febb2871126cd24613f32a79c32d4158/${lat},${lon}`;
axios.get(url, config).then(response => {
this.setState({
...
})
}).catch(function (error) {
console.log(error);
});
I get an error "XMLHttpRequest cannot load https://api.darksky.net/forecast/febb2871126cd24613f32a79c32d4158/38.5815719,-121.4943996 . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' https://ebcperez.github.io ' is therefore not allowed access."
I got a same issue But i solved that
like this : " https://cors-anywhere.herokuapp.com/http://samples.openweathermap.org/data/2.5/forecast?appid= {your_Api_key}"
or https://api.openweathermap.org/data/2.5/forecast?appid=
So i don't know that url will be didn't occur error
Looks like the Darksky API server doesn't allow CORS , so you won't be able to make this request from your browser.
A possible solution would be to issue the API request from your application server, and then just display it on the front end.
Here's an explanation of why this happens. The tl;dr is to use a CORS proxy for your requests. Prepend https://cors-anywhere.herokuapp.com/ to your API's URL. https://cors-anywhere.herokuapp.com/http://api.openweathermap.org ...
i hope this works for you
i don't know the url change or what but this below url is working for me https://corsanywhere.herokuapp.com/ https://corsanywhere.herokuapp.com/http://api.openweathermap.org/data/2.5/weather?q=${selectedCity}&appid=${APPID}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.