今天接触了新东西--Ajax,原先并 不知道AJAX,听了第一节课,视乎明白了一点,就是用javasript代码直接访问服务器。晚上时间继续升级我的交友网,现在要完成的功能如下:
1.在注册时,用户名必须判断是否可用,也就是说用户名的唯一性
2.实现用javascript程序访问服务器,但javasript访问服务器代码不能泛滥
3.判断用户名是否可用时,不能使用按钮等点击来完成,为了加深用户体验,只要光标离开,就执行该判断程序。
以下是我实现的代码:
javascript代码:
function check(){
var test=$('id').value;
var xmlHttpRequest=null;
if((typeof XMLHttpRequest)!='undefined'){
xmlHttpRequest=new XMLHttpRequest();//firefox
}else{
xmlHttpRequest=new ActiveXObject('Microsoft.XMLHttp');
}
var url='someone?name='+test;
xmlHttpRequest.open('GET',url,true);
//三个参数分别为:请求方式(post or get),服务器地址,是否异步方式连接
//注册一个监听
xmlHttpRequest.onreadystatechange=function(){
//连接有五个状态
0:连接还没有建立
1:连接已经建立,但没有发送请求
2:发送请求
3:正和服务器交互
4:响应结束
if(xmlHttpRequest.onreadyState==4){
var text=xmlHttpRequest.responseText;//接受响应
}
};
xmlHttpRequest.send(null);//get请求,post为所要传的值
}
服务器端得代码:
public void service(HttpServletRequest request,HttpServletResponse response){
String name=request.getParameter("name");
PrintWriter out=response.getWriter();
//对name进行判断,返回boolean值
if(true){
out.write(...);
}else{
out.write(....);
}
}