AJAX判断用户是否已注册

AJAX,异部javascript和xml,是一种快速创建动态网页的技术,在不提交整个表单的请提下,去局部的刷新某一块领域,对网页的某一部分进行刷新,举个很简单的例子
来说,当我们在注册用户的时候,通常在输入用户名的时候,如果你输入的是已经存在的用户名,则当你focus out的时候,马上就提示你该用户名已经存在了,这个就是局部刷新,
还没有提交整个页面到后台的时候,首先进入后台去验证,使用AJAX技术,可以大大提高程序的性能,下面就已用户注册简单的介绍下ajax的使用:
// js块
function checkUserId(userId) {
    var xmlhttp;
    // 不同的浏览器使用不同的方法来创建XMLHttpRequest
    if (window.XMLHttpRequest)  {
        xmlhttp = new XMLHttpRequest();
     } else {
        // IE5,IE6
        xmlhttp = new ActionveXObject("Microsoft.XMLHTTP");
    }

    //创建一个Http请求
    xmlHttp.open("post","UserCheckServlet?account="+account, true);
   
    // 每次readyState属性改变的时候,调用的函数,readyState的值有四个,所以会被调用四次
    xmlhttp.onreadystatechange = function () {
        // 4表示http请求的状态码:请求在服务端已执行,相应已就绪、开始,200表示http相应的状态码:表示相应成功
        if  (xmlhttp.readyState == 4 && xmlhttp.status == 200)  {
         // 接收以普通文本返回的数据,responseTest表示的是从服务器收到的相应体,如果还没有接收到数据的话,就是一个空字符串
        var text = xmlhttp.responseTest; 
        // 用户id已注册
if (text  == "true") {
document.getElementById("msg").innerHTML = "该账号已注册!";
// 该用户还没注册
        } else {
document.getElementById("msg").innerHTML = "该账号可用";
}

    }

}

    // 发送个请求
    xmlhtt.send();
}

jsp部分:只给出部分
账号<input type="text" name="account" size="20" οnblur="checkUserId(this.value)"/><font color="red"><span id="msg"></span></font>

后台部分():


protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

PrintWriter out = resp.getWriter();   //得到out对象

String path = "xxxx.jsp";
String account = req.getParameter("account");
boolean flag ;
try {
flag = UserFactory.getIUserDAOInstance().doCheck(account);
// 该用户已经被注册
if (flag == false) {              
out.print("true");
// 该用户未被注册
} else if (flag == true) {         
out.print("false");
req.getRequestDispatcher(path).forward(req, resp);
}
} catch (Exception e) {
e.printStackTrace();
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值