function getObject(){
    var ajax=false; 
    try { 
    ajax = new ActiveXObject("MSXML2.XMLHTTP"); 
    } catch (e) { 
   try { 
       ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (e) { 
       ajax = false; 
    } 
    }
    if (!ajax && typeof XMLHttpRequest!='undefined') { 
    ajax = new XMLHttpRequest(); 
    }    return ajax;
}function chechUsernameExist()
{
var obj=document.getElementById('registerName');
var registerName=obj.value;
if(registerName=="")
{
alert('请先检查输入的合法性');
obj.focus();
return false;
}
else
{
var ajaxObj=getObject();
if(ajaxObj)
{
var URL="checkName.php?registerName="+registerName;
ajaxObj.open("GET",URL,false);
ajaxObj.onreadystatechange=function()
{
if(ajaxObj.readyState==4&&ajaxObj.status==200)
{
switch(parseInt(ajaxObj.responseText))
{
case 1:
alert("恭喜您,此用户名可以注册");
return true;
case 2:
alert("对不起,此用户名已被注册");
return false;
default:
alert("对不起,此用户名已被注册");
return false;
}
}
}
ajaxObj.send(null);
}
}
}

解决方案 »

  1. switch(parseInt(ajaxObj.responseText))  //这个参数对应的是1、2、3 么?如果不是的话,case1 ,case2,case3 对应就没有反应了

    case 1: 
    alert("恭喜您,此用户名可以注册"); 
    return true; 
    case 2: 
    alert("对不起,此用户名已被注册"); 
    return false; 
    default: 
    alert("对不起,此用户名已被注册"); 
    return false; 

      

  2. 你可以先把ajaxObj.responseText直接输出来看看是什么!
      

  3. 用alert(ajaxObj.responseText);看到底输出什么
      

类似问题 »