如题,以下是我写地代码,但是运行后不能判断,各位帮忙看看
<script language="javascript" type="text/javascript">
var xmlHttp;
    function createXMLHttpRequest()
    {
        if(window.ActiveXObject)
        {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else if(window.XMLHttpRequest)
        {
            xmlHttp = new XMLHttpRequest();
        }
    }
    function Ajaxcheckname()
    {
    createXMLHttpRequest();
    var getName=document.getElementById("username");
    var url="ajax.aspx?username="+getName;
    xmlHttp.open("POST",url,true);
    xmlHttp.onreadystatechange=CheckUserName;
    xmlHttp.send(null);
    }
    //处理方法
    function CheckUserName()
    {
      var txtround=document.getElementById("Msg"); 
      if(xmlHttp.readyState==4) 
        {
            if(xmlHttp.status==200)
            {
                var txtGetResponse=xmlHttp.responseText;
                if(txtGetResponse=="0")
                {
                 txtround.innerHTML="无人注册,可以使用";
                }
                if(txtGetResponse=="1")
                {
                 txtround.innerHTML="对不起已经有人注册了";
                }
            }
        }
    }
</script></head>
<body>
    <form id="form1" runat="server">
        <div>
        用户名:
        <input type="text" id="username" name="username" onblur="return Ajaxcheckname();"/>
        <asp:Label ID="Msg" runat="server" Text=""></asp:Label><br/>
        密&nbsp;&nbsp;&nbsp;&nbsp;码:
        <input type="password" id="txtPassword" name="txtPassword" runat="server" />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtPassword"
                ErrorMessage="*"></asp:RequiredFieldValidator><br/>
        <input type="submit" id="btnRegister" name="btnRegister" value="注册" />
    </div>
</form>ajax.aspx csusing System.Data.SqlClient;public partial class ajax : System.Web.UI.Page
{
    SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["GirlsysConnectionString"].ConnectionString);
    protected void Page_Load(object sender, EventArgs e)
    {
        // 模拟验证 实际应用中应查询数据库
        string nam = Request.QueryString["username"].ToString();
        string sql = "select username from userinfos where username='" + nam + "'";
        conn.Open();
        SqlCommand cmd = new SqlCommand(sql, conn);
        SqlDataReader ds1 = cmd.ExecuteReader();
         if (ds1.Read())
         {
           Response.Write("此用户名已经被注册");
         }
         else
        {
             Response.Write("此用户名可以使用");
         }
         conn.Close();
    }
}
应该怎么改1

解决方案 »

  1.   

    if(txtGetResponse=="0") 
    与请求的返回结果不对应。。
            Response.Clear();
            if (ds1.Read()) 
            { 
              Response.Write("0");
            } 
            else 
            { 
              Response.Write("1");
            } 
            conn.Close(); 
            Response.End();
      

  2.   

           Response.Clear();
            if (ds1.Read()) 
            { 
              Response.Write("1");
            } 
            else 
            { 
              Response.Write("0");
            } 
            conn.Close(); 
            Response.End();
      

  3.   

    一楼正确,但建议改成这样
    Response.Clear();
            if (ds1.Read()) 
            { 
              Response.Write("此用户名已经被注册"); 
            } 
            else 
            { 
                Response.Write("此用户名可以使用"); 
            } 
            conn.Close(); 
    Response.End();前台改成
     function CheckUserName() 
        { 
          var txtround=document.getElementById("Msg"); 
          if(xmlHttp.readyState==4) 
            { 
                if(xmlHttp.status==200) 
                { 
                    var txtGetResponse=xmlHttp.responseText; 
                    txtround.innerHTML=txtGetResponse;
                } 
            }