封装ajax请求--get,post(前端 js 封装ajax请求,浏览器兼容)

本文介绍了一个简单的AJAX函数实现,包括GET和POST请求的处理,以及跨浏览器兼容性解决方案。函数通过判断浏览器类型选择合适的XMLHttpRequest对象,根据不同请求类型设置URL参数,处理请求头,并在请求完成后执行回调函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function ajax(opt) {

    var xhr = null;
    
    var param = Change(opt);

    // 兼容

    if (window.XMLHttpRequest) {

        xhr = new XMLHttpRequest();

    } else {

        xhr = new ActiveXObject('Micosoft.XMLHttp');

    }

    // 连接判断 get--post

    if (opt.type == "GET") {

        xhr.open(GET, opt.url + '?' + param, opt.async);

        xhr.send(null);

    } else if (opt.type == "POST") {

        xhr.open(POST, opt.url, opt.async);

        xhr.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded');

        xhr.send(param);

    }

    // 状态判断 并发送

    xhr.onreadystatechange = function() {

        if (xhr.readyState == 4 && xhr.status == 200) {

            opt.success(xhr.responseText);

        }

    }

    // 数据处理

    function Change(data) {

        var arr = [];

        for (var p in data) {

            arr.push(p+ "=" + data[p]);

        }

        return arr.join("&");

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值