用ajax封装一个函数(post、get)

原生:

// 封装一个ajax请求库实现get和post方法

function ajax(url,type,async,req,func) {
	// 也可以考虑将参数进行处理,比如大小写一致等转换
    let xhr = getXHR();
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4) {
            if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
                func(xhr.responseText);
            }
        }
    };
    xhr.open(type,url,async);
    xhr.send(type == 'post' ? req : null);
}
function getXHR() {
    if (typeof XMLHttpRequest != 'undefined') {
        return new XMLHttpRequest();
    } else if (typeof ActiveXObject != 'undefined') {
        return new ActiveXObject('MSXML2.XMLHttp'); // IE7的某个版本
    } else {
        throw new Error('no XHR object available');
    }

}

jq:

// 封装一个ajax请求库实现get和post方法
function ajax(url,type,async,req,func) {
    $.ajax({
        url: url,
        data: req,
        type: type,
        success: function (res) {
            if (res.success) {
                func(res.data, res.msg);
            }
            else {
                throw "请求失败 : " + url;
            }
        },
        error: function (e) {
            console.log("错误: " + e);
        },
        async: async
    })
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值