提问人:Nathan Vu 提问时间:5/24/2023 最后编辑:Jaromanda XNathan Vu 更新时间:5/24/2023 访问量:29
我创建了一个 API。使用 ajax,我想输出天气。我专门寻找描述和温度
I have created an API. Using ajax, I want to output the weather. I'm specifically looking for the description and the temperature
问:
我能够 innerHTMl 并输出温度。我很难访问天气对象的描述。另外,如何同时显示 temp 和 description 这两个值?
我在这里创建了 API https://mm214.com/jsondemo.php
<span id="temp"></span>
<span id="weather"></span>
<script>
const getJSON = function(url, callback) {
let xhr = new XMLHttpRequest();
xhr.open('get', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
let status = xhr.status;
if (status == 200) {
callback(null, xhr.response);
} else {
callback(status);
}
};
xhr.send();
};
getJSON('https://mm214.com/jsondemo.php', function(err, data) {
if (err != null) {
alert('Something went wrong: ' + err);
} else {
document.getElementById("temp").innerHTML = data.main.temp
// document.getElementById("temp").innerHTML = data.main.pressure;
//lert('Your Json result is: ' + data.result);
}
});
</script>
答:
1赞
The KNVB
5/24/2023
#1
我给出一个示例代码供您参考:
let data = {
"coord": {
"lon": -0.13,
"lat": 51.51
},
"weather": [{
"id": 300,
"main": "Drizzle",
"description": "light intensity drizzle",
"icon": "09d"
}],
"base": "stations",
"main": {
"temp": 280.32,
"pressure": 1012,
"humidity": 81,
"temp_min": 279.15,
"temp_max": 281.15
},
"visibility": 10000,
"wind": {
"speed": 4.1,
"deg": 80
},
"clouds": {
"all": 90
},
"dt": 1485789600,
"sys": {
"type": 1,
"id": 5091,
"message": 0.0103,
"country": "GB",
"sunrise": 1485762037,
"sunset": 1485794875
},
"id": 2643743,
"name": "London",
"cod": 200
};
document.getElementById("temp").innerHTML = data.main.temp;
document.getElementById("weather").innerHTML = data.weather[0].description;
<span id="temp"></span>
<span id="weather"></span>
评论
0赞
Nathan Vu
5/24/2023
啊,太感谢你了。[0]的解释是什么?我对它有点熟悉,但这种情况下的逻辑是什么?
0赞
The KNVB
5/24/2023
这是因为 是一个数组。因此,如果您需要访问数组的第一个元素,则必须使用 [0] 语法。由于 javascript 数组是零索引的,因此数组的第一个元素位于索引 0 处,第二个元素位于索引 1 处,依此类推,最后一个元素位于数组的 length 属性值减去 1 处。data.weather
评论
data.weather[0].description