首页 > 代码库 > AJAX异步校验
AJAX异步校验
前台JS代码
/*异步验证用户名的输入格式以及是否存在*/
function CheckUsername(){
/*取到用户名输入框*/
var nametxt = document.getElementById("username");
/*获取输入的用户名值*/
var username = nametxt.value;
/*获取到装错误信息的span框*/
var sp = document.getElementById("usernameError");
var regex = /^[a-z0-9]{4,12}$/i;
/*创建异步函数*/
var xhr = createXmlHttp();
/*设置监听*/
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4){
if(xhr.status == 200){
/*为信息提示框赋文本*/
sp.innerHTML = xhr.responseText;
/*为信息提示框赋样式*/
sp.className = "infoError";
}
}
}
/*打开链接 · 不加时间戳则会引起浏览器的缓存*/
xhr.open("GET", "${pageContext.request.contextPath}/user_FindByName.action?time="+new Date().getTime()+"&username="+username, true);
/*发送*/
xhr.send();
}
function createXmlHttp(){
var xmlHttp;
try{//Firefox, Opera8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch(e){
try {//IE
xmlHttp = new ActiveXObject("Msxm12.XMLHTTP");
} catch (e) {}
}
return xmlHttp;
}
后台action代码
/**
* AJAX异步校验用户名
* @return String
* @throws IOException
*/
public String FindByName() throws IOException{
/*调用service进行查询*/
User existUser = userService.FindByUsername(user.getUsername());
/*获取response对象,向页面输出信息*/
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
/*判断是否为空*/
if(existUser != null){
//用户名已经存在,不能注册
/*有异常则向上抛出*/
response.getWriter().println("<font color=‘red‘>用户名已存在,不可用!</font>");
} else{
//用户名不存在,可以注册
response.getWriter().println("<font color=‘green‘>用户名可以使用!</font>");
}
/*AJAX操作,不需要页面跳转*/
return NONE;
}
AJAX异步校验
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。