复习原生ajax

function ajax(url, fnSucc, fnFaild)
{
    //1.创建
    if(window.XMLHttpRequest)
    {
        var oAjax=new XMLHttpRequest();
    }
    else
    {
        var oAjax=new ActiveXObject('Microsoft.XMLHTTP');
    }
    
    //2.连接
    oAjax.open('GET', url, true);
    
    //3.发送
    oAjax.send();
    
    //4.接收
    oAjax.onreadystatechange=function ()
    {
        if(oAjax.readyState==4)        //完成
        {
            if(oAjax.status>=200 && oAjax.status<300 || oAjax.status==304)
            {
                //alert('成功:'+oAjax.responseText);
                if(fnSucc)
                {
                    fnSucc(oAjax.responseText);
                }
            }
            else
            {
                //alert('失败:'+oAjax.status);
                if(fnFaild)
                {
                    fnFaild(oAjax.status);
                }
            }
        }
    };
}

辅助函数处理url

function json2url(json){
    json.t=Math.random();

    var arr=[];

    for(var i in json)
    {
        arr.push(i+'='+json[i]);
    }

    return arr.join('&');
}

实例1:读取文字

window.οnlοad=function ()
{
    var oBtn=document.getElementById('btn1');
    
    oBtn.onclick=function ()
    {
        //alert('aaa.txt?t='+Math.random());
        ajax('aaa.txt?t='+Math.random(), function (str){
            //str——从服务器读回来的内容
            alert(str);
        });
    };
};

 

实例2:注册和登陆

window.οnlοad=function(){
    var oAddUser=document.getElementById('add_user');
    var oAddPass=document.getElementById('add_pass');
    var oAddBtn=document.getElementById('add_btn');

    oAddBtn.onclick=function()
    {
        var url='user.php?'+json2url({
            act:'add',
            user:oAddUser.value,
            pass:oAddPass.value
        })

        ajax(url,function(str){
            var json=eval('('+str+')');
            if(json.error){
                alert('有问题'+json.desc);
            }else{
                alert('注册成功');
            }
        },function(){
            alert('失败');
        });
    };

    var oLgnUser=document.getElementById('login_user');
    var oLgnPass=document.getElementById('login_pass');
    var oLgnBtn=document.getElementById('login_btn');

    oLgnBtn.onclick=function(){
        var url='user.php?'+json2url({
            act:'login',
            user:oLgnUser.value,
            pass:oLgnPass.value
        })

        ajax(url,function(str){
            var json=eval('('+str+')');
            if(json.error){
                alert('有问题'+json.desc);
            }else{
                alert('登陆成功');
            }
        },function(){
            alert('失败');
        })
    };
};

本文属于原创,如需转载请注明地址

转载于:https://www.cnblogs.com/leejersey/p/3614059.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值