zoukankan      html  css  js  c++  java
  • AJAX异步检查,检查用户名是否存在

    AJAX异步检查,检查用户名是否存在


    写法一:

     var xmlHttp;
            if (window.XMLHttpRequest)
             {// code for IE7+, Firefox, Chrome, Opera, Safari
             	xmlHttp=new XMLHttpRequest();
             }
            else
             {// code for IE6, IE5
            	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
             }
            
            console.log("xmlHttp,XHR,created"+xmlHttp.readyState);
            var url = "validateUsername.jsp?username=" + trim(field.value) + "&time=" + new Date().getTime(); 
          
            //设置请求方式为GET,设置请求的URL,设置为异步提交  
            xmlHttp.open("GET", url, true); 
            
            //将方法地址复制给onreadystatechange属性  
           
            xmlHttp.onreadystatechange = function() {state_Change(xmlHttp);};
            <span style="color:#ff0000;">//Bad Code</span> xmlHttp.onreadystatechange = state_Change(xmlHttp);
            
            //将设置信息发送到Ajax引擎  
            xmlHttp.send(null); 
            
        } else { 
        	
            document.getElementById("CheckField").innerHTML = ""; 
        } 
    function state_Change(xmlHttp) { 
    	console.log("state_Change start");
        //Ajax引擎状态为成功  
        if (xmlHttp.readyState == 4) { 
            //HTTP协议状态为成功  
            if (xmlHttp.status == 200) { 
                if (trim(xmlHttp.responseText) != "") { 
                    //console.log("responseText: START___",xmlHttp.responseText," ___END");
                  if(trim(xmlHttp.responseText)=="OK"){
                    	document.getElementById("userCheck").className="icon ticker"; 
                    	document.getElementById("CheckField").innerHTML = ""; 
                  	}
                    else{
                    	document.getElementById("userCheck").className="";
                    	document.getElementById("CheckField").innerHTML = "<font color='red' style='font-size:15px; line-height: 3; vertical-align:middle'>" + xmlHttp.responseText + "</font>"; 
                    }
                }else {
                	document.getElementsByName("userCheck").className="icon into";
                    document.getElementById("CheckField").innerHTML = ""; 
                } 
            }else { 
                alert("数据库可能出错,请求失败,错误码=" + xmlHttp.status); 
            } 
        } 
    } 

    写法二:

    $(function() {
    	$("#checkbtn").click(function() {
    
    		if ($("#searchkey").val() == "") {
    			console.log("searchkey is null");
    			alert("没有输入值!!!!");
    		} else {
    
    			$.ajax({
    				url : "CheckID?searchkey=" + $("#searchkey").val(),
    				success : function(result) {
    					tablename = $("#searchform").children("[name='tablename']").val();
    					if(...){
    						if (result == "exsit") {
    							...
    						} else {
    							...
    						}
    					}else{
    						
    						if (result == "exsit") {
    							...
    							
    						} else {
    							...
    							
    						}
    						
    						
    					}
    				}
    			});
    
    		}
    	});
    
    });


    写法二比较简单,写法一比较原始。

    使用异步的Ajax的好处是页面不用刷新,还能不需要点击什么按钮,不需要提交表单, 直接 由某事件自动提交到服务器进行 检查 取值等操作。

  • 相关阅读:
    kali 所有版本
    kali有关问题及kali2018.2安装
    python2
    burpsuite 破解教程
    python生成个性二维码
    万能密码
    python 1
    python
    python 第三方库安装
    Androidstdio 简单界面设计 登陆系统
  • 原文地址:https://www.cnblogs.com/slankka/p/9158551.html
Copyright © 2011-2022 走看看