javascript - 为什么我在调用 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();
运行此代码时出现错误。请帮我解决这里的问题。
解决方案
此 API 上的响应结构不data.main.temp
直接返回,此 api 的顶层返回
"message": message,
"cod": cod,
"count": count,
"list": [{"main": {"temp"}}]
因此,要访问 temp,您应该导航到列表或直接访问您想要的记录,例如data.list[index].main.temp
index 可以是 0 或者取决于您确定的列表大小data.count
推荐阅读
- python - 我将如何优化以下熊猫功能?
- angular - Angular observable 处理多个订阅者
- c# - 当同一个表单打开另一个表单时,如何将注意力集中在一个表单上?
- javascript - 在 JavaScript 中执行计算后,如何获取嵌套数组中的所有对象?
- android - 如何拦截一个网页的所有资源网络请求?
- wordpress - WordPress - 将 HTML 消息添加到现有元框
- kubernetes - 如何在 Kubernetes 中切换命名空间
- dart - Flutter - 对齐表格中的文本
- java - 我怎样才能在我的桌子上用百里香叶做柜台?
- angular - 选中复选框后动态显示 mat-table 行