日期:2014-05-16 浏览次数:20728 次
Ajax一个常用的地方就在于各大网站上注册时,检查用户名是否已经使用,下面我们就来简单的模拟一下这个功能:
先将html代码给出
<script type="text/javascript"> var xmlHttp; function check(name) { if(window.ActiveXObject) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest) { xmlHttp=new XMLHttpRequest(); } if(xmlHttp!=null) { xmlHttp.open("POST", "LoginServlet", true); xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4 && xmlHttp.status==200) { var txt=xmlHttp.responseText; alert(txt); if(txt=="OK") { document.getElementById("hip").innerHTML="可以使用"; }else { document.getElementById("hip").innerHTML="不可以使用"; } } } xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlHttp.send("name="+name); } } </script> </head> <body> <input type="text" name="name" id="name"><br> <input type="submit" onclick="check(document.getElementById('name').value)"><br> <div id="hip"></div> </body> </html>
给出一个登陆的Servlet
public class LoginServlet extends HttpServlet { public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.flush(); out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String name=request.getParameter("name"); System.out.println("name===>"+name); if(name.equals("gavin")) { out.print("OK"); }else { out.print("NO"); } out.flush(); out.close(); } public void init() throws ServletException { // Put your code here } }
上面的代码中,如果在文本框中输入“gavin”,那么用户名可以使用,如果输入其他,则不能使用,非常简单,仅仅为了练习使用Ajax而已