<script type="text/javascript" language="javascript">    var xmlhttp;
    
    function username_changed()
    {        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(e){
            try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            }catch(e){
            try{
                xmlhttp = new XMLHttpRequest();
            }catch(e){
                xmlhttp = null;
            }
           }
        }
        
        var url="signup-ajax.aspx?username="+document.getElementById("ctl00_ContentPlaceHolder1_TextBoxusername").value;        xmlhttp.onreadystatechange = getReady;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
    }    function getReady()
    {
        if(xmlhttp==null)
            return;
            
        if(xmlhttp.readyState == 4)
        {
            if(xmlhttp.status == 200)
            {
                document.getElementById('hint_username').innerHTML = xmlhttp.responseText;
            }
            xmlhttp = null;
        }
    }
    
    ////======================================
    
    
    function password_changed()
    {
        var p1=document.getElementById('ctl00_ContentPlaceHolder1_TextBoxpassword').value;
        var p2=document.getElementById('ctl00_ContentPlaceHolder1_TextBoxpassword2').value;
        
        if(p1!=p2)
        {
            document.getElementById('hint_password').innerHTML='<span style="color: Red;">两次输入不一致</span>';
            return;
        }
        if(p1.length<6)
        {
            document.getElementById('hint_password').innerHTML='<span style="color: Red;">密码小于6位数</span>';
            return;
        }
        
        document.getElementById('hint_password').innerHTML='<span style="color: Blue;">密码可用</span>';
    }
    
</script>

解决方案 »

  1.   

    function username_changed()
        {        try{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }catch(e){
                try{
                    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                }catch(e){
                try{
                    xmlhttp = new XMLHttpRequest();
                }catch(e){
                    xmlhttp = null;
                }
               }
            }
    这个就是在创建XmlHttpRequest对象,并且判断是哪种类型的浏览器。
    XmlHttpRequest对象主要就是那几种方法。
    open()这里面有三个参数“get”就不用提了吧,还有别的可选的,如“post”,而第二个参数就是链接地址了,就是指向问题,第三个参数就是判断是否为异步通信(true).
    onreadystatechange() 方法,可以理解为服务器响应后的触发器,就是只要发生通信了就触发他,所以它后面的getReady就是对应的事件了。
     function getReady()
        {
            if(xmlhttp==null)
                return;
                
            if(xmlhttp.readyState == 4)
            {
                if(xmlhttp.status == 200)
                {
                    document.getElementById('hint_username').innerHTML = xmlhttp.responseText;
                }
                xmlhttp = null;
            }
        }
    这个就是执行了,其中readyState=4 表示请求的状态是完毕,还有其他的状态,但是就4这个状态有用,status 是返回的状态码,200表示请求成功,比如还有什么400阿,之类的自己可以定义。其他的就是JS脚本了。感觉没有什么讲的了。
    对了responseText这个是服务器返回的相应字符串。
      

  2.   

    给你介绍本好书 <Ajax基础教程> 一个美国人写的 非常好 一共300多页 我三天就看完了 很容易理解 例子都很精典 
    真的不错 很精典 楼主去看看 想学Ajax的都找这本书看看吧 建议不要看电子版的 电子版的不容易入心(电子版好像也没有吧 去年的书)
    祝好运!