使用 OpenWeatherMap 获取问题
fetch issue using OpenWeatherMap
我尝试了各种方法从开放天气中获取天气数据
如果我将其粘贴到浏览器中,我将获得数据
http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a
但是如果我将它与 fetch 或 Axios 一起使用,或者将它与其他 API 一起使用的其他各种方法一起使用,我将一无所获。谁能告诉我我做错了什么?谢谢
使用 https 而不是 http。您将获得数据。
这是正确的格式:
https://api.openweathermap.org/data/2.5/weather?q="+cityName+"&units=metric&apikey="+key
将 http 更改为 https
试试这个
const response = await fetch("http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a");
const data = await response.json();
console.log(data);
还将您的代码包装在 try/catch 中以捕获任何可能的错误。
你也可以使用 promises 而不是 async/await -
fetch("http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a")
.then(response => response.json())
.then(data => console.log(data))
.catch(error => {
console.log(error);
});
另外,如果您提供问题中已经尝试过的解决方案会更好。
index.html
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
</body>
<script>
fetch('http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a')
.then(data => data.json())
.then(data => {
console.log(data);
})
</script>
</html>
我尝试了各种方法从开放天气中获取天气数据 如果我将其粘贴到浏览器中,我将获得数据 http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a
但是如果我将它与 fetch 或 Axios 一起使用,或者将它与其他 API 一起使用的其他各种方法一起使用,我将一无所获。谁能告诉我我做错了什么?谢谢
使用 https 而不是 http。您将获得数据。
这是正确的格式:
https://api.openweathermap.org/data/2.5/weather?q="+cityName+"&units=metric&apikey="+key
将 http 更改为 https
试试这个
const response = await fetch("http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a");
const data = await response.json();
console.log(data);
还将您的代码包装在 try/catch 中以捕获任何可能的错误。
你也可以使用 promises 而不是 async/await -
fetch("http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a")
.then(response => response.json())
.then(data => console.log(data))
.catch(error => {
console.log(error);
});
另外,如果您提供问题中已经尝试过的解决方案会更好。
index.html
<html lang="en">
<head>
<title>Document</title>
</head>
<body>
</body>
<script>
fetch('http://api.openweathermap.org/data/2.5/weather?q=London&appid=6e93b3d15872f914c6929fed9ea71e9a')
.then(data => data.json())
.then(data => {
console.log(data);
})
</script>
</html>