简体   繁体   中英

Weather API request cors error

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."

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

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM