XMLHttpRequest方式的Ajax的用户名验证

jsp文件中:
<script language="javascript">
var request;

try{
request = new XMLHttpRequest();
}catch(e){
try{
request = new ActiveXObject("MSXML2.XMLHTTP");
}catch(e){
request = new ActiveXObject("MICROSOFT.XMLHTTP");
}
}

function query(){
//获取文本框内容
//var userName = document.registerForm.username.value;
var userName = document.getElementById("userName");

var url = "${pageContext.request.contextPath}/user/username.do?username=" + userName

//一般用GET方式提交,若用POST方式则需要自己设置http请求头
request.open("GET",url,true);

//设置回调函数
request.onreadystatechange = deal;

request.send(null);
}

function deal(){
if(request.readyState == 4 && request.status == 200){
document.getElementById("usernameHints").innerHTML = request.responseText;
}
}
</script>

 

<form name="registerForm" action="${pageContext.request.contextPath}/user/register.do" method="post">
<input name="username" type="text" onBlur="query()" value="${registerActionForm.username}">

<span class="redfont" id="usernameHints"></span>

</form>


=============================================

action中(struts1)
public ActionForward checkUserName(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException {
LogOutPut.getInstance().debug("checkUserName");

response.setContentType("text/plain");

PrintWriter out = response.getWriter();

boolean isRegister = userUtil.isRegister(request.getParameter("username"));
if("".equals(request.getParameter("username"))){
out.println("请输入用户名(action)");
}else {
if(isRegister){
LogOutPut.getInstance().debug("已经被注册");
out.println(request.getParameter("username") + " 已经被注册");
}else {
out.println("恭喜,该用户名可以使用");
}
}
out.close();
return null;
}

 

 

=============================================

=============================================

使用jQuery来简化AJAX

下载jQuery文件jquery-1.3.2.js,并将其加入web工程中。

jsp页面

 

<script type="text/javascript" src="js/jquery-1.3.2.js">

</script>

 

<script language="javascript">

 

function query() {

var obj = $("#username");

var username = obj.val();

$.get("user/username.do?username=" + username, null, callback);

}

 

function callback(data) {

var resultObj = $("#usernameresult");

resultObj.html(data);

}

 

</script>

jsp页面中要引入jQuery的js文件。

<input id="username" name="username" type="text" οnblur="query()"/>

<span id="usernameresult"></span>

jsp页面中的input要有id属性,因为jQuety是根据id来查找节点的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值