HTTPXML无刷新检查用户名是否可用JS篇

来源:互联网 发布:机器人炒股宝软件 编辑:程序博客网 时间:2024/05/01 07:03
<<HTTPXML无刷新检查用户名是否可用JS篇>>文章来源于:技术春天www.wcplym.com,为本人原创,如果您转载,请注明来源地址及作者,谢谢!

在这里需要先要说明XMLHTT对象:

XMLHTTP对象参考:
属性:
onreadystatechange* 指定当readyState属性改变时的事件处理句柄。只写
readyState  返回当前请求的状态,只读.
responseBody  将回应信息正文以unsigned byte数组形式返回.只读
responseStream 以Ado Stream对象的形式返回响应信息。只读
responseText 将响应信息作为字符串返回.只读
responseXML 将响应信息格式化为Xml Document对象并返回,只读
status 返回当前请求的http状态码.只读
statusText  返回当前请求的响应行状态,只读

* 表示此属性是W3C文档对象模型的扩展.
方法:
abort 取消当前请求
getAllResponseHeaders 获取响应的所有http头
getResponseHeader 从响应信息中获取指定的http头
open 创建一个新的http请求,并指定此请求的方法、URL以及验证信息(用户名/密码)
send 发送请求到http服务器并接收回应
setRequestHeader 单独指定请求的某个http头


在网上,“检测用户名是否可用”,这个功能实现方法有三种,一种是转到一个专门的网页检测用户名是否可用,一种是弹出一个窗口检测用户名是否可用,最好的 一种是不用刷新网页,就可以在当前页显示检测结果,实现这个功能一点不复杂,JS中的Microsoft.XMLHTTP这个对象很好的解决了这个问题!


首先利用Microsoft.XMLHTTP读取XML文件,具体JS代码如下:

//---------------------------------------------------------------------------------------------
function chkUid(){
var chkThisUid=document.getElementById("m3");
var uid=window.document.register.uid;
var backResult="";
if(uid.value==""||!isValidString(uid.value)||uid.value.length<6){
  alert("您输入的账号为空或有误或长度不够,请检查后重新输入!");
  uid.focus();
}else{
chkThisUid.innerHTML="<span style=/"color:#336699/">正在检测此账号之中......</span>";

var url="chkUidIsOk.asp";
url+="?uid="+uid.value;
//alert(url);
//------------------------------------------------------------------
var xmlHttpObject=new ActiveXObject("Microsoft.XMLHTTP");//创建XMLHTTP对象
xmlHttpObject.open("GET",url,true);//打开GET请求,个人看作变模拟我们在IE输入网址访问网页
//alert(xmlHttpObject.readyState);
//------------------------------------------------------------------
xmlHttpObject.onreadystatechange=function(){
  //alert(xmlHttpObject.readyState);
  if(xmlHttpObject.readyState==4){//状态正常
   if(xmlHttpObject.status==200){//状态正常
    backResult=xmlHttpObject.responseXML.documentElement.tagName;//读取XML文件中的元标签名
    //alert(backResult);
    if(backResult=="OK"){
     chkThisUid.innerHTML="<span style=/"color:#0000FF/">恭喜!此账号可用!</span>";
     return true;
    }else{
     chkThisUid.innerHTML="<span style=/"color:#FF0000/">对不起!账号已占用了!</span>";
     return false;
    }
   }
  }
}
xmlHttpObject.send(null);//发送请求
}
}



今天暂时写到这里,来源于:技术春天www.wcplym.com,下一文章说明如何使用,具体实现这个功能!