标签:
实现当鼠标光标移动后自动判断用户名是否正确
html代码
1 用户名:<input type="text" name="username" id="username" onblur="validate();" /> 2 <span id="message"></span>
js代码获取XMLHttpRequest对象
1 <script type="text/javascript"> 2 //获取不同浏览器的XMLHttp对象 3 function getXMLHttpRequest(){ 4 var xmlHttp; 6 try{ 7 //firefox opera 8 xmlHttp = new XMLHttpRequest(); 9 }catch(e){ 10 try{ 11 xmlHttp = new XMLHttpRequest("Msxml2.XMLHTTP"); 12 }catch(e){ 13 try{ 14 //低版本的ie 15 xmlHttp = new XMLHttpRequest("Microsoft.XMLHTTP"); 16 }catch(e){ 17 alert("此浏览器不支持AJAX!"); 18 return false; 19 } 20 } 21 } 22 23 return xmlHttp; 24 25 }
js代码鼠标移动后异步提交判断
1 function validate(){ 2 //得到xmlHttp对象 3 var xmlHttp = getXMLHttpRequest(); 4 //获取username的值 5 var username = document.getElementById("username").value; 6 //发送到服务器 7 //传送参数 请求方式 地址 是否为异步请求 8 alert("ssss"); 9 xmlHttp.open("GET","/JavaScript0505/CheckedUsernameServlet?username="+username,true); 10 //发送请求 11 xmlHttp.send(); 12 //获取服务器响应 13 xmlHttp.onreadystatechange=function(){ 14 if(xmlHttp.readyState==4){ 15 if(xmlHttp.status==200){ 16 var text = xmlHttp.responseText; 17 var oSpan = document.getElementById("message"); 18 oSpan.innerHTML=text; 19 } 20 } 21 } 22 } 23
对于POST请求有一点区别 传递参数之前要增加一段代码 参数可在send()方法中传递;
1 xmlHttp.open("POST","/JavaScript/CheckUsernameServlet",true); 2 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 3 xmlHttp.send("username="+username);
服务器端代码
1 public void doPost(HttpServletRequest request, HttpServletResponse response) 2 throws ServletException, IOException { 3 //设置请求与响应的编码格式 4 request.setCharacterEncoding("utf-8"); 5 response.setContentType("text/html;charset=utf-8"); 6 List<String> names=Arrays.asList("张三","李四","王五"); 7 String username = request.getParameter("username"); 8 if(names.contains(username)){ 9 response.getWriter().println("<font color=‘red‘>用户名可用!</font>"); 10 }else{ 11 response.getWriter().println("<font color=‘red‘>用户名不可用!</font>"); 12 } 13 }
标签:
原文地址:http://www.cnblogs.com/SilencerChen/p/5468915.html