黑马程序员技术交流社区

标题: ajax异步检查用户名 [打印本页]

作者: 佟亚鹏    时间: 2012-9-15 22:49
标题: ajax异步检查用户名
想写一个用户名校验的例子,当用户提交注册信息时,检查用户名是否存在,不刷新页面,异步的检查用户名是否存在,根据是否存在的结果 ,在页面上提示用户相应信息 ,使用jquery成功的完成了,但是使用原始的XMLHttpRequest ,失败,我把 new出来的XMLHttpRequest 的对象打印了出来,结果是空的,为什么会创建失败,求解
使用jquery
  1. function checkUsername {
  2.         var username = $("#username").val();
  3.         usernameIfExist(username);
  4. }
  5. function usernameIfExist(username) {
  6.         $.get("checkUsernameServlet?username=" + username,null,function(data) {
  7.         if (data == true){               
  8.                         usernameMSGObj.html("<font color='red'>这个用户名已经被注册,请重新输入</font>");
  9.                 }
  10.                 else{
  11.                         usernameMSGObj.html("<font color='red'>可以使用的用户名</font>");
  12.                 }
  13.     });
  14. }
复制代码
使用XMLHttpRequest 对象
  1. var xmlHttp;
  2. function  usernameIfExist () {
  3.     var username = document.getElementById("username").value;
  4.     xmlHttp = new XMLHttpRequest();
  5. //if(!xmlHttp) {
  6. //alert("xmlHttp fail");//弹出了失败信息
  7. //return;
  8. //}
  9.     xmlHttp.onreadystatechange = callBack;  
  10.     xmlHttp.open("GET"," checkUsernameServlet ?name=" + username);
  11.     xmlHttp.send(null);
  12. }

  13. function callBack() {
  14.    if(xmlHttp.readyState == 4) {
  15.        if(xmlHttp.status == 200) {
  16.            var result =  xmlHttp.responseText ;
  17.            if (result== true){
  18.               usernameMSGObj.html("<font color='red'>这个用户名已经被注册,请重新输入</font>");
  19.            }
  20.           else{
  21.             usernameMSGObj.html("<font color='red'>可以使用的用户名</font>");
  22.          }            
  23.        }
  24.    }
  25. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2