最近学JAVA WEB,到了AJAX的进度。
AJAX技术需要XMLHttpRequest对象、XML和javascript语言的综合。还需要CSS/DOM的帮助。
对我来说,想要解决注册系统的用户名问题。因为原先采用先提交数据给一个 页面,让这个页面来连接数据库,再返回该用户名是否已被注册的结果,来选择跳转到不同的提示页面,这样的方式,效率不够高。
现在可以采用AJAX无刷新地监测了。
我是使用<input type=”text” />文本框的onblur事件触发,当用户输入下一文本框内容的时候,检测刚才输入的用户名是否唯一。
onblur="checkUser(form1.username);"
然后添加一个<div>,默认不显示,用于在检测后显示提示信息。
<style>#toolTip{display:none;}</style>
js脚本-自定义函数创建XMLHttpRequest对象
function createRequest(url){
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
request= new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e){
}
}
}
request.onreadystatechange = getResult;
request.open("get",url,true);
request.send(null);
}
然后编写回调函数getResult()
function getResult(){
if(request.readyState ==4 && request.status == 200){
document.getElementById("toolTip").innerHTML = http_request.responseText;
document.getElementById("toolTip").style.display = "block";
}
}
现在编写checkUser(username)函数,最后是checkUser.jsp的处理页。
int result=Arrays.binarySearch(userList,user);
if(result>-1){out.print("no,no,no(^_^)");
}else{
}
总之在现在使用的注册页面我不会去使用JSP页面,应该是用PHP,但主要是语言的问题,实现方式差别不大(因为服务器目前是PHP的环境,我本地测试的PC上安装了JAVA环境)。
最后一步是创建一维数组的方式,在这里是举个例子,通常情况下是从数据库获取信息。