【发布时间】:2019-04-26 11:40:13
【问题描述】:
我正在尝试通过使用 ip-api 来构建一个天气应用程序,以获取用户当前的纬度和经度,并将其传递到 darksky api URL 以获取天气 JSON 数据。我的 lat 和 lon 记录正常,但 Darksky 调用出现以下错误。我试图从一个 API 中提取数据并使用另一个 API 是否做错了什么?还是只是按照我尝试的方式?
-GET 'dark sky api url' 401
-CORS 政策已阻止从源“http://localhost:3000”获取“https://api.darksky....”的访问权限
getLocation = async (e) => {
e.preventDefault();
const api_call = await fetch("http://ip-api.com/json");
const data = await api_call.json();
console.log(data.lat, data.lon);
let lattitude = data.lat;
let longitude = data.lon;
const weather_call = await fetch(`https://api.darksky.net/forecast/${API_KEY}/${lattitude},${longitude}`);
const weather_data = await weather_call.json();
console.log(weather_data);
}
render() {
const {to, getLocation, ...rest} = this.props;
return (
<div className="App">
<Landing getLocation={this.getLocation}/>
</div>
);
}
【问题讨论】:
-
改成
fetch('https://api.darksky...', { mode: 'no-cors' })还会报错吗
标签: javascript reactjs api geolocation