ajax验证用户名是否存在

需求: 利用ajax实现 当输入用户名时,验证该用户名是否已经存在,如果存在,给出重新输入用户名,不存在,提示可以使用。简单起见,如果用户名不等于 'shizhan',则可以使用。

html页面

  1. <%@pagelanguage="java"pageEncoding="utf-8"%>
  2. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
  3. <html>
  4. <head>
  5. <scripttype="text/javascript"src="js/register.js"></script>
  6. </head>
  7. <body>
  8. <form>
  9. 用户名
  10. <inputtype="text"name="username"id="username"/>
  11. <inputtype="button"value="提交"id="btn1"/>
  12. <divid="myDiv"></div>
  13. </form>
  14. </body>
  15. </html>

我们利用js给提交按钮绑定事件。js代码

[javascript] view plain copy
  1. varxmlhttp;
  2. window.onload=function()
  3. {
  4. varbtn1=document.getElementById("btn1");
  5. btn1.onclick=loadXMLDoc;
  6. }
  7. functionloadXMLDoc()
  8. {
  9. if(window.XMLHttpRequest)
  10. {//codeforIE7+,Firefox,Chrome,Opera,Safari
  11. xmlhttp=newXMLHttpRequest();
  12. }
  13. else
  14. {//codeforIE6,IE5
  15. xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
  16. }
  17. //绑定回调函数
  18. xmlhttp.onreadystatechange=function()
  19. {
  20. if(xmlhttp.readyState==4&&xmlhttp.status==200)
  21. {
  22. document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  23. }
  24. }
  25. //取得输入的值
  26. varname=document.getElementById("username").value;
  27. //第一个参数表示post请求,第二个参数表示提交给AjaxServlet,第三个参数为true,表示异步请求
  28. xmlhttp.open("POST","AjaxServlet",true);
  29. xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  30. xmlhttp.send("name="+name);
  31. }

响应的servlet:

  1. packagecom.servlet;
  2. importjava.io.IOException;
  3. importjava.io.PrintWriter;
  4. importjavax.servlet.servletexception;
  5. importjavax.servlet.http.HttpServlet;
  6. importjavax.servlet.http.HttpServletRequest;
  7. importjavax.servlet.http.HttpServletResponse;
  8. publicclassAjaxServletextendsHttpServlet{
  9. publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
  10. throwsservletexception,IOException{
  11. doPost(request,response);
  12. }
  13. publicvoiddoPost(HttpServletRequestrequest,IOException{
  14. response.setContentType("text/html");
  15. response.setCharacterEncoding("utf-8");
  16. PrintWriterout=response.getWriter();
  17. Stringname=request.getParameter("name");
  18. System.out.println(name);
  19. if(name.equals("shizhan"))
  20. {
  21. out.write("用户名已经存在,请更换");
  22. }
  23. else
  24. {
  25. out.write("用户名可以使用");
  26. }
  27. out.flush();
  28. out.close();
  29. }
  30. }

结果页面

输入sss,点击提交

输入shizhan,点击提交

来源:http://blog.csdn.net/linshizhan/article/details/7915939

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...