html
---------------
            <asp:TextBox ID="zd" runat="server"  Text="123"></asp:TextBox>
            <img src="images/b249.jpg" onclick="dd();">
            <span id="user_explain"></span>
---------------
js部分
function dd()
{
    
            
    var theName = document.getElementById("zd").value;
    
    if(theName=="123")
    {
    
    var url = "../Ajax/Ajax.aspx?UserName=" + escape(theName);

xmlHttp.open("GET", url, true);

xmlHttp.onreadystatechange = getResult;

xmlHttp.send(null);

    
    }
}function getResult()
 {
 
    
   if (xmlHttp.readyState == 4)
     {
     
        if(xmlHttp.status==200)
        {
       
            if(xmlHttp.responseText=="false")
            {
             
           
               document.getElementById("user_explain").innerHTML='<span style="font-size:12px;color:Red">成功!</span>';
            }
            else if(xmlHttp.responseText=="true")
            {
            
               document.getElementById("user_explain").innerHTML='<span style="font-size:12px;color:Green">失败!</span>';
            }
        
        }}--------------处理页面----------------
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.Page.IsPostBack)
        {
            string a = Request.QueryString["UserName"].ToString();
            if(a=="123")
            {
                Response.Write("true");
                 Response.End();
            }
            else
            {
                
                 Response.Write("false");
                 Response.End();
            }        }
    }
------------------想在页面部分显示成功或失败,但是没有反映,我也看不出来是什么地方错了

解决方案 »

  1.   

    用的是IE吗?如果是IE的话有脚本错误的时候下面会报的.
    如果没报的话,建议你在页面生成之后看页面生成之后的代码,看看是不是控件名字变了.
      

  2.   

    试了一下没问题。怀疑是:var url = "../Ajax/Ajax.aspx?UserName=" + escape(theName); 
    这里的路径问题。
      

  3.   

    var url = "../Ajax/Ajax.aspx?UserName=" + escape(theName); 
    这里的 "../Ajax/Ajax.aspx?UserName="  改成aspx同名文件名试试。如"Default.aspx?UserName="
      

  4.   

    protected void Page_Load(object sender, EventArgs e) 
        { 
            if (!this.Page.IsPostBack) 
            { 
                string a = Request.QueryString["UserName"].ToString(); 
                if(a=="123") 
                { 
                    Response.Write("true"); 
                    Response.End(); 
                } 
                else 
                { 
                    
                    Response.Write("false"); 
                    Response.End(); 
                }         } 
        } 
    ------------------ 这段代码能执行不?
      

  5.   

    var theName = document.getElementById("zd").value; 
    ===========
    这个取到值了吗?alert一下。如果是vs2005,没取道值,
    就改成var theName = document.getElementById("<%=zd.ClientID %>").value; 
      

  6.   

    你对照这个修改下你的,下面这个测试没问题   
     <script>
        function check_brow()
        {
            var obj=null;
            try
            {
                obj=new ActiveXObject("MSXML2.XMLHTTP");
            }
            catch(e)
            {
                try
                {
                    obj=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(oc)
                {
                    obj=null;
                }
            }
            if ( !obj && typeof XMLHttpRequest != "undefined" )
            {
                obj=new XMLHttpRequest()
            }
            return obj; 
        }
        function bb()
        {
            var name=document.getElementById("TextBox1").value;       
            var url="Default2.aspx?name="+escape(name);
            var xmlhttp=new check_brow();
            xmlhttp.open("get",url,true);
            xmlhttp.onreadystatechange= function()
            {
                if(xmlhttp.readyState==4)
                {
                    var result=xmlhttp.responseText;
                    alert(result);
                }
            }
            xmlhttp.send(null);    }    </script>
    后台
     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string name = Request.QueryString["name"];
                if (name + "a" != "a")
                {
                    Response.Clear();
                    if (name == "123")
                    {
                        Response.Write("true");
                    }
                    else
                    {
                        Response.Write("false");                   
                    } 
                    Response.Flush();
                    Response.End();
                }
            }
        }
      

  7.   

    http://www.code2us.com/CollectBrowse.aspx?ID=87