html获取网络数据,列表展示 一

html获取网络数据,列表展示

js遍历json数组中的json对象

image.png

|| '-' 判断数据是否为空,为空就显示 -

复制代码
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>网页列表</title>
    </head>
    <body>

        <div>
            <div style="width: 100px; height: 100px;" id="myDiv"></div>
        </div>

        <script type="text/javascript">
            // https://api.thecatapi.com/v1/images/search?limit=2
            // 
            // {
            //  "id": "1ep",
            //  "url": "https://cdn2.thecatapi.com/images/1ep.jpg",
            //  "width": 448,
            //  "height": 674
            // },


            // 创建XMLHttpRequest对象,新版本的浏览器可以直接创建XMLHttpRequest对象,IE5或IE6没有
            // XMLHttpRequest对象,而是用的ActiveXObject对象
            var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ActiveXObject("microsoft.XMLHttp")
            xhr.open("get", 'https://api.thecatapi.com/v1/images/search?limit=2', true);
            xhr.send(); //发送请求

            // 监听请求的状态
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4 && xhr.status === 200) {
                    // 请求成功后的处理
                    console.log('111 111 返回的数据', xhr.responseText);

                    // // 打印,获取json里的对象
                    var data2 = JSON.parse(xhr.responseText);
                    let myDiv = document.getElementById("myDiv")
                    let myimg = document.getElementById("myimg")
                    for (var i = 0; i < data2.length; i++) {
                        console.log('ggg 000 返回的数据', data2[i].id + " " + data2[i].url);

                        let addImg = document.createElement('img')
                        addImg.src = data2[i].url
                        addImg.style.width = "200px";
                        addImg.style.height = "200px";
                        myDiv.append(addImg)

                        let addName = document.createElement('p')
                        addName.innerText = data2[i].id
                        myDiv.append(addName)
                    }

                }
            };
        </script>
    </body>
</html>
相关推荐
LQE3 分钟前
Vue 2 vs Vue 3:全面对比指南
前端
用户350144817926 分钟前
数据对比中的”平等性原则“
前端
yuki_uix7 分钟前
从扁平到层级:树形数据转换的工程化实践与设计哲学
前端·javascript
米丘7 分钟前
vue-router 5.x 关于 RouterLink 实现原理
前端·javascript·vue.js
前端嘣擦擦8 分钟前
mac 安装 nvm + node + npm(国内镜像 + 官方安装步骤)
前端·macos·npm
小码哥_常11 分钟前
Jetpack Compose 1.8 新特性来袭,打造丝滑开发体验
前端
哎哟喂_112 分钟前
Webpack 的按需引入的原理
前端
whisper12 分钟前
前端安全护航者:三分钟带你了解 jsencrypt
前端·javascript
free-elcmacom13 分钟前
C++ 函数占位参数与重载详解:从基础到避坑
java·前端·算法
远山枫谷16 分钟前
🎉告别 Vuex!Vue3 状态管理利器 Pinia 核心概念与实战指南
前端·vue.js