mysql 验证用户名重复_使用ajax验证用户名重复

这篇博客介绍如何使用Ajax实现对MySQL数据库中用户名的实时验证,避免重复注册。通过JavaScript监听表单输入,当用户输入用户名后,利用XMLHttpRequest发送POST请求到服务器端的'dumplicate.do'接口,检查用户名是否存在。如果服务器返回'用户名已被注册',则在前端显示提示信息并聚焦到用户名输入框。
摘要由CSDN通过智能技术生成

Stringpath=request.getContextPath();StringbasePath=request.getScheme()+ "://"

+request.getServerName()+ ":" +request.getServerPort()+path+ "/";%>

使用ajax进行异步验证

body{font-size:12px;}table{font-size:12px;}table input{width:120px;font-size:12px;}table em{color:#ff0000;}.tips{text-align:right;}#body{margin-left:200px;margin-top:220px;}

window.οnlοad=function(){

document.getElementById("username").focus();

};varxmlhttp;functionhadoop() {//1.创建XMLHttpRequest对象

if(window.XMLHttpRequest) {//IE7,IE8,FireFox,Mozilla,Safari,Opera

xmlhttp= newXMLHttpRequest();if(xmlhttp.overrideMimeType) {

xmlhttp.overrideMimeType("text/xml");

}

}else if(window.ActiveXObject) {//IE6,IE5.5,IE5

varactivexName=["MSXML2.XMLHTTP","Miscrosoft.XMLHTTP"];for(vari= 0; i

xmlhttp= newActiveXObject(activexName[i]);break;

}catch(e) {

}

}

}if(xmlhttp==undefined||xmlhttp== null) {

alert('当前浏览器不支持创建XMLHttpRequest对象');return;

}//2.注册回调函数

xmlhttp.onreadystatechange=callback;//注意方法调用后面不加括号

//xmlhttp.onreadystatechange = callback();

//获取文本框中输入的内容,经过两次编码防止中文乱码

//后台使用URLDecoder.decode(username,"utf-8")对username解码

varuserName=document.getElementById("username").value;if(userName==""){

document.getElementById("message").innerHTML="用户名不能为空";

$("#username").focus();return;

}

userName=encodeURI(encodeURI(userName));//3.设置和服务器端交互参数

xmlhttp.open("POST","${pageContext.request.contextPath }/dumplicate.do?username=" +userName,true);//4.设置向服务器端发送的数据,启动和服务器端的交互

xmlhttp.send(null);

}functioncallback() {//5 .判断和服务器端的交互是否完成,还要判断服务器端是否正确返回了数据

if(xmlhttp.readyState== 4) {//表示和服务器端的交互已经完成

if(xmlhttp.status== 200) {//表示服务器的响应代码是200,正确的返回了数据

//纯文本数据的接受方法

varmessage=xmlhttp.responseText;//XML数据对应的DOM对象的接受方法

//使用的前提是,服务器端需要设置content-type为text/xml

//var domXml = xmlhttp.responseXML;

//向div标签中填充文本内容的方法

vardiv=document.getElementById("message");if(message=="用户名已被注册"){

document.getElementById("username").focus();

document.getElementById("username").select();

}

div.innerHTML=message;

}

}

}

用户名:

*

密码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值