从某些API获取信息时,出现TypeError: Failed to fetch
错误。
例如,下面的代码段中使用的URL是API提供程序提供的示例。无需钥匙即可访问。它可以在我的浏览器中正常工作,但会在我的代码中引发错误。
从另一个公共API https://api.punkapi.com/v2/beers/random
抓取效果很好。
这些API之间的区别是什么,它们使我无法从某些API中获取并为其他人使用?
export default function App() {
useEffect(() => {
fetch(
'https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=439d4b804bc8187953eb36d2a8c26a02'
)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => {
console.error(error);
});
}, []);
return null;
}
答案 0 :(得分:1)
您无法从样本中获取数据 由于缺少CORS标头“ Access-Control-Allow-Origin”而导致API被阻止
您需要生成api密钥(https://openweathermap.org/price)并连接到api
//ex:
api.openweathermap.org/data/2.5/weather?appid={your api key}&....