注册 登录
编程论坛 jQuery论坛

为什么信息总是发送不成功?

sldtk1 发布于 2008-04-01 15:53, 1448 次点击
程序总是跳到else那里,请问这段代码哪里错了?谢谢!
//声明XMLHttpRequest对象
var xmlHttp;
function checkusername(username)
{
    document.getElementById("checkuser").innerHTML="<img src='App_Themes/image/loading.gif'><span>正在连接数据库,请稍后...</span>" ;
    createXMLHTTP();    //创建XMLHttpRequest对象
    var url="checkuser.aspx?Name="+username;
    xmlHttp.open("POST",url,true);
    xmlHttp.onreadystatechange=checkUserName;
    xmlHttp.send(null);
}

function createXMLHTTP()        //检查浏览器
{
    if(window.XMLHttpRequest)
    {
        xmlHttp=new XMLHttpRequest();   //mozilla浏览器
    }
    else if(window.ActiveXObject)
    {
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");    //IE老版本
        }
        catch(e)
        {}
        try
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");     //IE新版本
        }
        catch(e)
        {}
        if(!xmlHttp)
        {
            window.alert("不能创建XMLHttpRequest对象实例!");
            return false;
        }
    }
}

//执行检测用户名回调函数
function checkUserName()
{
    if(xmlHttp.readyState==4)//判断对象状态
    {
        if(xmlHttp.status==200)//信息成功返回,开始处理信息
        {
            if(xmlHttp.responseText=="true")
            {
                document.getElementById("checkuser").innerHTML="<img src='App_Themes/image/true.gif'>";
                //让注册按钮失效
                document.getElementById("btnReg").disabled=false;
            }

            else
            {
                document.getElementById("checkuser").innerHTML="<img src='App_Themes/image/false.gif'>";
                document.getElementById("btnReg").disabled=true;                        
            }

        }
    }
}
2 回复
#2
lmhllr2008-04-02 10:30
if(xmlHttp.responseText=="true")
true不要加引号,那样变成字符串了
#3
sldtk12008-04-02 12:33
好像不行啊,因为只是试试看能不能成功,所以没有连数据库,只是写了一个简单的验证,接收信息的页面checkuser.aspx的代码如下
程序代码:
string username = Request["Name"].ToString();
        if (username.Length < 3)
        {
            Response.Write("false");
        }
        else
        {
            Response.Write("true");
        }

总是返回false,一次也没返回true,请问代码有什么问题吗?已经去掉引号了
1