JS原生ajax详细解说

//xmlHttpRequest,但是这个对象只是在火狐,google...
//在中国用的最广泛的IE浏览器里面是没有这个对象的
//在IE里面是用的一个控件来解决这个问题,ActiveXObject
//所以我们在解决对象的时候做出的判断,其实就是判断浏览器而已
var xmlHttp;

function sendParam(){
//先获取对象
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("MICROSOFT.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}

if(!xmlHttp){
alert("没有获取到对象!");
return;
}
var userName = document.getElementById("userName").value;
//由于javascript是没有办法连接数据库的,所以,需要通过后台语言
//结合来连接数据库,那么这里就是把js从界面获取的值,传递给后台程序
//xmlHttp.open()其实也就是链接到一个后台程序,把值传递过去
//这其实是第一步
xmlHttp.open("GET","check2.php?userName="+userName,true);

//这是第三步
//这一步是一个回调函数,回调函数其实就和打电话代办事情是一个意思
//这个回调函数其实就是状态改变的时候,js应该做什么事情
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
var txt = xmlHttp.responseText;
var tishi = document.getElementById("tishi");
if(txt == "1"){
tishi.innerHTML = "用户已经被注册,请选用其他用户名";
tishi.style.cssText = "font-size:16px;color:red;background:#ccc;display:block";
}else{
tishi.innerHTML = "用户可以注册";
tishi.style.cssText = "font-size:16px;color:green;background:#ccc;display:block";
}
}
}
}


//注意,open()方法就仅仅只是打开了连接,并没有传递,所以需要send方法
//这是第二步
xmlHttp.send(null);

}

posted @ 2014-05-08 20:12  天外小龙虾  阅读(213)  评论(0编辑  收藏  举报