您的位置:首页 > 其它

原生ajax

2016-03-06 00:18 239 查看
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('失败');
})
};
};


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: