前端原生AJAX封装

function ajax(options)
{
    options=options||{};
    options.data=options.data||{};
    options.type=options.type||'get';
    options.timeout=options.timeout||0;

    options.data.t=Math.random();

    var arr=[];
    for(var i in options.data)
    {
        arr.push(i+'='+encodeURIComponent(options.data[i]));
    }
    var str=arr.join('&');

    if(window.XMLHttpRequest)
    {
        var oAjax=new XMLHttpRequest();
    }
    else
    {
        var oAjax=new ActiveXObject('Microsoft.XMLHTTP');
    }

    if(options.type=='get')
    {
        oAjax.open('get', options.url+'?'+str, true);
        oAjax.send();
    }
    else
    {
        oAjax.open('post', options.url, true);
        oAjax.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
        oAjax.send(str);
    }

    oAjax.onreadystatechange=function ()
    {
        if(oAjax.readyState==4)
        {
            if(oAjax.status>=200 && oAjax.status<300 || oAjax.status==304)
            {
                options.success && options.success(eval('('+oAjax.responseText+')'));
            }
            else
            {
                options.error && options.error();
            }
        }
    };

    if(options.timeout)
    {
        setTimeout(function (){
            oAjax.abort();
        }, options.timeout);
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值