复习原生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.onload=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.onload=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('失败'); }) }; };

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

你可能感兴趣的:(Ajax)