懂得感恩,是收获幸福的源泉。懂得感恩,你会发现原来自己周围的一切都是那样的美好。
AJAX的无刷新机制使得在注册系统中对于注册名称的检测能即时显示。常见的用户注册是用户输入用户名,后台程序检测数据库中用户名是否重复而做出注册的成功与失败之提示(当用户注册重名时将返回重新注册),或者稍微人性化一点就是在用户名文本框后添加一个检测按钮,让用户检测后再做注册。以上操作,对于用户体验方面来说是比较“差劲”的,一个很好的用户体验就是:当用户输入完注册用户名后,Web系统应能即时检查并即时显示,并在检查和显示的同时不影响当前页面的操作。这也就是“异步获取数据”的要求,而这正是AJAX的强项比如如下的示例就能展现AJAX的该功能:http://www.cnbruce.com/test/ajax/t1.htm 当输入已经存在的用户名(如cnbruce、cnrose)时页面将显示重名不能注册(false),否则将显示可以注册(true),这为用户的注册提供了快速的参考,用户体验至上。那么下面就来说说是如何来实现这样的功能的。其实通过如上的t1.htm的源代码,各位就可以看到AJAX的精髓首先是定义XMLHttp对象
varxmlHttp=false; try{ xmlHttp=newActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); }catch(e2){ xmlHttp=false; } } if(!xmlHttp&&typeofXMLHttpRequest!='undefined'){ xmlHttp=newXMLHttpRequest(); } |
http://www.cnbruce.com/blog/showlog.asp?cat_id=34&log_id=987 接着是自定义函数
functioncallServer(){ varu_name=document.getElementById("u_name").value; if((u_name==null)||(u_name==""))return; varurl="cu.asp?name="+escape(u_name); xmlHttp.open("GET",url,true); xmlHttp.onreadystatechange=updatePage; xmlHttp.send(null); } |
该函数的主要功能就是异步获得cu.asp的内容,在此前将先提取当前页表单元素“u_name”即用户名文本框zhogn的值,通过cu.asp其后的参数及赋值而得到了不同的结果(trueorfalse)。那么这里要说的即是cu.asp,他的主要功能就是接受URL参数name的值做内容显示,该内容最终被t1.htm异步获取。
<!--cu.asp的源码示例--><!--#includefile="conn.asp"--> <% name=request.querystring("name") Setrs=Server.CreateObject("ADODB.Recordset") sql="Select*fromu_serwhereu_name='"&name&"'" rs.Opensql,conn,1,1 ifrs.eofandrs.bofthen response.write("true") else response.write("false") endif rs.close setrs=nothing callCloseDatabase %> |
functionupdatePage(){ if(xmlHttp.readyState<4){ test1.innerHTML="loading..."; } if(xmlHttp.readyState==4){ varresponse=xmlHttp.responseText; test1.innerHTML=response; } } |
其中xmlHttp.readyState中的readyState表示服务器在处理请求时的进展状况,其值分别有0-4,各有其说明情况,具体请参看:http://www.cnbruce.com/blog/showlog.asp?cat_id=34&log_id=718 使用DHTML中的innerHTML可显示信息在定义的<spanid="test1">是否能注册</span>上。其余表单页面就不详叙了打包文件下载(下载后将后缀.cnbruce修改为.rar):http://www.cnbruce.com/test/ajax/ajax.cnbruce
以上就是AJAX应用之注册用户即时检测。让自己感动自己一回,让自己欣赏自己一次,让自己佩服自己一把!更多关于AJAX应用之注册用户即时检测请关注haodaima.com其它相关文章!