javascript异步调用数据库

本文介绍了一种使用JavaScript实现的用户名实时检测与验证方法。该方法通过异步调用服务器端程序检查用户名是否已被注册,并根据检测结果更新前端提示信息。文章详细展示了如何创建XMLHttpRequest对象、发送异步请求及处理响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 yibu.open("post","functionPage/checkHasUser.aspx?username="+username,true);
关键就是这一句,后面的true代表异步调用,就是写完用户名以后不会死等系统检测 

//异步变量
var yibu=null;
if(window.ActiveXObject)
{
    yibu=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
    yibu=new XMLHttpRequest();
    if(yibu.overrideMimeType){
        yibu.overrideMimeType('TEXT/HTML');
    }
}
//根据用户是否存在改变提示
function changeAlertMsg(){
 if( yibu.readyState == 4 ){
     var result = yibu.responseText;
     if (result != "0")
     {
      userName_alert.className = "alertDivErr";
      userName_alert.innerText = "此用户名已被注册 ";
      document.all.username_tik.style.visibility = "hidden";
      form1.submit_bt.disabled = true;
      userNameOk = false;
      checkAll();
     } else if (result == "0")
     {
      userName_alert.className = "alertDivStatic";
      userName_alert.innerText = "5-15个字符,英文、数字、下划线,注册成功将不能修改";
      document.all.username_tik.style.visibility = "visible";
      userNameOk = true;
      checkAll();
     }
 }
}
//checnk user exist
function hasUser(objInput){
    var username = objInput.value;
 yibu.open("post","functionPage/checkHasUser.aspx?username="+username,true);
关键就是这一句,后面的true代表异步调用,就是写完用户名以后不会死等系统检测
 //yibu.send();
 yibu.onreadystatechange = changeAlertMsg;
 yibu.send();
}
function checkUserName(objInput){
    if (objInput.value != null && objInput.value != ""){
     var parm =/^[_a-zA-Z0-9]{1,19}$/g.test(objInput.value);
     //var parm =/^[0-9]{1,3}$/g.test(objInput.value);
     if (!parm){
         userName_alert.className = "alertDivErr";
      userName_alert.innerText = "只能由字母/数字/下划线组成";
      document.all.username_tik.style.visibility = "hidden";
      form1.submit_bt.disabled = true;
      userNameOk = false;
      return;
     }
     userName_alert.innerText= "  正在搜索用户名...";
     hasUser(objInput); //调用异步存取
 } else {
  userName_alert.className = "alertDivStatic";
  userName_alert.innerText = "5-15个字符,英文、数字、下划线,注册成功将不能修改";
  userNameOk = false;
  document.all.username_tik.style.visibility = "hidden";
  form1.submit_bt.disabled = true;
 }
}
function username_onfocus(){
    userName_alert.className = "alertDivTips";
    userName_alert.innerText = "5-15个字符,英文、数字、下划线,注册成功将不能修改 ";
}
function username_onblur(a){
    checkUserName(a);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值