JS原生异步请求

      function requestJSON1() {
            try {
                // 1.异步请求对象构建
                let xhr = new XMLHttpRequest()
                // 2.设置异步请求参数
                xhr.open("get", "http://127.0.0.1:3000/public/json")
                // let obj = null
                // console.log(obj.name);

                // readyState 属性是描述当前ajax请求的执行步骤
                //      0  异步对象未创建
                //      1  异步对象已完成配置
                //      2  异步请求已发送,尚未接收到服务器响应
                //      3  服务器响应已到达,开始接收响应数据
                //      4  响应数据接收完成,异步请求结束

                // ajax 步骤状态发生变化是执行的方法
                // xhr.onreadystatechange = function(){
                //     // 监控状态变化的
                //     console.log( xhr.readyState );
                //     if(xhr.readyState==4){
                //     }
                // }

                // 当ajax 请求成功后执行的方法
                xhr.onload = function () {
                    //  http code 响应状态码
                    console.log(xhr.status);
                    if (xhr.status < 400) {
                        alert("请求成功")
                        document.querySelector("#user").innerHTML = xhr.responseText
                    } else if (xhr.status < 500) {
                        alert("资源错误")
                    } else {
                        alert("服务器错误")
                    }
                }

                // 2.1 定义监控函数
                // 监控网络错误 net work error
                xhr.onerror = function (error) {
                    console.log(error);
                    console.log(error.type);
                    alert("网络连接中断")
                }
                // 3.请求发送
                //     + JS代码错误
                //     + 网络通信错误
                //     + 服务器拒绝或运行错误
                xhr.send()

            } catch (error) {
                console.error(error);
                alert("程序运行错误,请求联系管理员")
            }

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值