ajax进行用户的有效性检测示例
1、 输入域:
会员的有效性检查:
<input type="text" name="username"> <input type="button" value="检查" onclick="return check();">
2、 JavaScript脚本:
var xmlHttp;
//创建XMLHttpRequest对象
function createXMLHttpRequest() {
if(window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpReuqest();
}
//注册名有效性检查
function check() {
var username = document.getElementById('username').value;
if(username=="") {
alert("用户名不能为空!");
return;
}
createXMLHttpRequest();
xmlHttp.onreadystatechange = processCheck;
xmlHttp.open("GET", "CheckUser?username=" + username);
xmlHttp.send(null);
}
//绑定的有效性检查函数
function processCheck() {
var result;
if(xmlHttp.readyState == 4) { //如果响应完成
if(xmlHttp.status == 200) { //如果返回成功
result = xmlHttp.responseText;
var temp = myTrim(result);
if(temp=="false") {
alert("用户名无效,不能注册!");
return;
} else {
alert("用户名有效,可以注册!");
return;
}
}
}
}
//去除前后空格
function myTrim(str){
return str.replace(/^/s+/,'').replace(//s+$/,'');
}
3、 Servlet文件:(CheckUser.java文件中的doGet方法)
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
boolean isChecked = true;
String[] login = {"admin", "solid"};
for(int i=0; i<login.length; i++) {
if(username.equals(login[i])) {
isChecked = false;
}
}
out.println(isChecked);
out.flush();
out.close();
}
4、 web.xml文件配置:
<servlet>
<servlet-name>CheckUser</servlet-name>
<servlet-class>com.solid.util.CheckUser</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckUser</servlet-name>
<url-pattern>/CheckUser</url-pattern>
</servlet-mapping>