编程论坛's Archiver

sldtk1 发表于 2008-4-1 15:53

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

程序总是跳到else那里,请问这段代码哪里错了?谢谢!
[quote]//声明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)//信息成功返回,开始处理信息
        {
            [color=Red]if(xmlHttp.responseText=="true")
            {
                document.getElementById("checkuser").innerHTML="<img src='App_Themes/image/true.gif'>";
                //让注册按钮失效
                document.getElementById("btnReg").disabled=false;
            }[/color]
            [color=Red]else
            {
                document.getElementById("checkuser").innerHTML="<img src='App_Themes/image/false.gif'>";
                document.getElementById("btnReg").disabled=true;                        
            }[/color]
        }
    }
}

[/quote]

lmhllr 发表于 2008-4-2 10:30

if(xmlHttp.responseText=="true")
true不要加引号,那样变成字符串了

sldtk1 发表于 2008-4-2 12:33

好像不行啊,因为只是试试看能不能成功,所以没有连数据库,只是写了一个简单的验证,接收信息的页面checkuser.aspx的代码如下[code]string username = Request["Name"].ToString();
        if (username.Length < 3)
        {
            Response.Write("false");
        }
        else
        {
            Response.Write("true");
        }[/code]
总是返回false,一次也没返回true,请问代码有什么问题吗?已经去掉引号了

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.