AJAX 输入框后写提示

//XMLHttpRequest,但是这个对象只是在火狐,Google。。。
//在中国用的最广泛的IE浏览器里面里没有这个对象的
//在IE里面是用的一个控件来解决这个问题,ActiveXObject
//所以我们在解决对象的时候做出的判断,其实就是判断浏览器而已
var xmlHttp;   //声明变量
function getXmlHttp(){
  //先获取对象
  if(window.ActiveXObject){
    xmlHttp = new ActiveXObject("MICROSOFT.XMLHTTP");
  }else if(window.XMLHttpRequest){
    xmlHttp = new XMLHttpRequest();
  }
  //判断是否得到对象xmlHttp
  if(!xmlHttp){
    alert("没有获取到对象!");
    return;
  }
  // else{
  // alert("得到了对象");
  // }
}

 

function sendParam(url){
  getXmlHttp();
  //由于javascript是没有办法连接数据库的,多以需要通过后台语言
  //结合来连接数据库,那门这里就是吧js从界面获取的值,传递给后台程序
  //xmlHttp.open()其实也就是链接到一个后台程序,把值传递过去
  //这是第一步
  xmlHttp.open("GET","check.php?user="+url,true); //打开链接
  // setRequestHeader("Content-Type","application/x-www-form-urlencoded");   //如果用的是post请求就要用这句

 

  //这是第三步
  //这一步是第一个回调函数,回调函数其实就和打电话代办事情差不多
  //这个回调函数其实就是状态改变的时候,js应该做什么事情
  xmlHttp.onreadystatechange = getTxt;
  //也可以写成匿名函数
  /*xmlHttp.onreadystatechange = function(){
    if(xmlHttp.readyState == 4){
      if(xmlHttp.status == 200){
        var sp = document.getElementById("tishi");  //输入页面中输入框后id为tishi的span
        sp.innerHTML = xmlHttp.responseText;
      }
    }
  }*/

 

  //注意open()方法就仅仅只是打开链接,并没有传递,所以需要send方法
  //这是第二步
  xmlHttp.send(null); //传递参数,值,必写
}


function getTxt(){ //页面上显示函数
  if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
      var sp = document.getElementById("tishi");   
      sp.innerHTML = xmlHttp.responseText;   //把获取的内容显示在输入框后的span中
    }
  }
}

posted @ 2014-05-08 20:04  微笑进行时  阅读(348)  评论(0编辑  收藏  举报