Ajax 天气预报API案例

<script>
        var input = document.querySelector('#city')
        var btn = document.querySelector('button')
        var tab = document.querySelector('.tab')
        // 城市
        var city = document.querySelectorAll('.tab table tbody td:first-of-type')
        // 日期
        var weatherDate = document.querySelectorAll('.tab table tbody td:nth-of-type(2)')
        // 天气情况
        var weather = document.querySelectorAll('.tab table tbody td:nth-of-type(3)')
        // 白天温度(高温)
        var HighestTemperature = document.querySelectorAll('.tab table tbody td:nth-of-type(4)')
        // 白天温度(低温)
        var minimumTemperature = document.querySelectorAll('.tab table tbody td:nth-of-type(5)')
        var xml = new XMLHttpRequest();
        btn.onclick = function () {
            xml.open('get', 'https://v0.yiketianqi.com/free/week/?appid=66519423&appsecret=kxJjl8Ce&city=' + input.value + '')
            xml.send(null);
            xml.onreadystatechange = function () {
                if (xml.status === 200 && xml.readyState === 4) {
                    javaDate = JSON.parse(xml.responseText)
                    if (javaDate.city) {
                        // 将天气盒子可视化
                        tab.style.display = 'block'
                        /* 获取到的数据 */
                        // console.log(javaDate.data);
                        // 渲染城市
                        city.forEach(function (item) {
                            // console.log(item);
                            item.innerHTML = javaDate.city
                        })
                        //渲染日期
                        for (var i = 0; i < weatherDate.length; i++) {
                            weatherDate[i].innerHTML = javaDate.data[i].date
                        }
                        //渲染天气情况
                        for (var i = 0; i < weather.length; i++) {
                            weather[i].innerHTML = javaDate.data[i].wea
                        }
                        //渲染白天温度(高温)
                        for (var i = 0; i < HighestTemperature.length; i++) {
                            HighestTemperature[i].innerHTML = javaDate.data[i].tem_day + '℃'
                        }
                        //渲染白天温度(低温)
                        for (var i = 0; i < minimumTemperature.length; i++) {
                            minimumTemperature[i].innerHTML = javaDate.data[i].tem_night + '℃'
                        }
                    }
                }
            }
        }

    </script>

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值