首页 > 解决方案 > 为什么我在调用 API 时收到此错误

问题描述

在此处输入图像描述

var path = "http://api.openweathermap.org/data/2.5/find?q=";
var city = "London";
var apiKey= "&appid=eb5eacd85411228f461a151003d9bf07";
var url = path + city+ apiKey;



function getTemp(){
fetch(url)
.then(response => response.json())
.then(data => {
  var nameValue= data.name;
  var tempr = data.main.temp;
  document.querySelector("h1").innerHTML= nameValue;
  document.querySelector("h2").innerHTML= tempr;


})}
getTemp();

运行此代码时出现错误。请帮我解决这里的问题。

标签: javascriptapi

解决方案


此 API 上的响应结构不data.main.temp直接返回,此 api 的顶层返回

"message": message,
  "cod": cod,
  "count": count,
  "list": [{"main": {"temp"}}]

因此,要访问 temp,您应该导航到列表或直接访问您想要的记录,例如data.list[index].main.tempindex 可以是 0 或者取决于您确定的列表大小data.count


推荐阅读