原生ajax的封装

手写原生ajax

       ajax(url, data, method, success) {

        // 异步对象
            let ajax = new XMLHttpRequest();

            // get 跟post  需要分别写不同的代码
            if (method == 'get') {

            // get请求
                if (data) {

                // 如果有值
                    url += '?';
                    url += data;
                } else {

                }

            // 设置 方法 以及 url
                ajax.open(method, url);

                // send即可
                ajax.send();
            } else {

            // post请求
                // post请求 url 是不需要改变
                ajax.open(method, url);

                // 需要设置请求报文
                ajax.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

                // 判断data send发送数据
                if (data) {

                // 如果有值 从send发送
                    ajax.send(data);
                } else {

                // 木有值 直接发送即可
                    ajax.send();
                }
            }

    // 注册事件
    ajax.onreadystatechange = function() {

            // 在事件中 获取数据 并修改界面显示
                if (ajax.readyState == 4 && ajax.status == 200) {

                // console.log(ajax.responseText);

                    // 将 数据 让 外面可以使用
                    // return ajax.responseText;

                    // 当 onreadystatechange 调用时 说明 数据回来了
                    // ajax.responseText;

                    // 如果说 外面可以传入一个 function 作为参数 success
                    success(ajax.responseText);
                }
            }

        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值