当前位置: 首页 > 图文教程 > 网络编程 > AJAX技术 > ajax 检测用户名是否被占用

AJAX技术
自己动手封装的 ajax
Ajax 对象 包含post和get两种异步传输方式
Ajax 超时检查脚本
AJAX 简介及入门实例
ajax 开发守则 10条说明
Ajax 返回字符串的过滤实现代码
Ajax 程序开发中常见问题
AJAX 验证框架13个
ajax 入门基础之 XMLHttpRequest对象总结
基于AJAX的分页类实现代码
如何在Asp.net中使用HtmlArea编辑器
使用 jQuery 简化 Ajax 开发
ASP.NET 与 Ajax 的实现方式
AJAX技术介绍
Ajax程序设计入门
学习Ajax教程,详细了解Get与Post
关于Ajax responseText 的一点阐述
ajax中文乱码解决方法
AJAX中文问题总结
AJAX无刷新更新数据

AJAX技术 中的 ajax 检测用户名是否被占用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 45 ::
收藏到网摘: n/a

//检测用户名是否被占用
function GetO(){
var ajax=false;
try {
ajax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
ajax = false;
}
}
if (!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest();
}
return ajax;
}

function getResult(serverPage) {

var ajax = GetO();

var sep = (-1 < serverPage.indexOf("?")) ? "&" : "?"
var newurl = serverPage + sep + "__=" + encodeURIComponent((new Date()).toString());
ajax.open("GET", newurl, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {

if(ajax.responseText==1){
ShowResult(1,"您的用户名可以正常注册")
AjaxResult=true;
}else{
ShowResult(0,"您的用户名被占用了")
AjaxResult=false;
}
}
}
ajax.send(null);
}
function chkUsername(){
var sflag;//标记;
var sErr;//错误信息;
sflag=true;
var re=/^\w{2,20}$/;
if(!re.test(document.Form1.UserName.value)){
sflag=false;
sErr="用户名只能输入字母、数字或下划线";
}
if (document.Form1.UserName.value.length>20||document.Form1.UserName.value.length<2){
sflag=false;
sErr="用户名长度必须在2~20个字符之间";
}
if (document.Form1.UserName.value=="" ){
sErr="用户名不能为空";
sflag=false;
}

//ajax检测返回结果
if (!sflag) {
ShowResult(0,sErr)
}else{
getResult("../MemberCheck.aspx?t=1&Name=" + document.Form1.UserName.value);
}
//document.getElementById("spname").innerHTML=ss;
}
function ShowResult(tag,str){
var obj = document.getElementById("spname");
if(tag==0){
obj.style.border="1px solid red";
obj.style.color="red";
}else{
obj.style.border="1px solid green";
obj.style.color="green";
}
obj.innerHTML=str;
obj.style.padding="1px";
}

//取ajax返回的用户问题值

function getQuestionData(sPage){
var ajax = GetO();
var sep = (-1 < sPage.indexOf("?")) ? "&" : "?"
var newurl = sPage + sep + "__=" + encodeURIComponent((new Date()).toString());
ajax.open("GET", newurl, true);
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200) {

if(ajax.responseText==""){
document.getElementById("getstate").innerHTML="用户不存在!"
}
else{
document.g.Question.value=ajax.responseText;
document.g.Question.readOnly=true;
document.getElementById("getpwdstep1").style.display="none";
document.getElementById("getpwdstep2").style.display="block";
document.getElementById("getstate").innerHTML="";
}
}
}
ajax.send(null);
}
function getUserQ(){
//改变报错span的显示样式
document.getElementById("getstate").style.padding="1px 4px";
if (document.g.UserName.value==""){
document.getElementById("getstate").innerHTML="用户名不能为空!"
}else{
document.getElementById("getstate").style.background="red";
document.getElementById("getstate").style.color="white";
document.getElementById("getstate").innerHTML="正在加载数据...";
//设置ajax
getQuestionData("../MemberCheck.aspx?t=2&gName=" + document.g.UserName.value);
}
}


function login(n,p,t)
{
if(t==false){
document.getElementById("pLogin").style.display="none";
document.getElementById("LoginInfo").innerHTML="正在帮您登录,请稍等...";
}
var request;
if(undefined == request){
request = new Request();
}
if(undefined == request._get){
//不支持Ajax获取数据;
if(t==false){
document.getElementById("pLogin").style.display="";
document.getElementById("LoginInfo").innerHTML="不能获取数据";
}
}
else{
userName=n;
toPrev=t;
request.GetNoCache(loginPath + "LoginCheck.aspx" + "?n=" + n + "&p=" + p,loginCheck);
}
}

function loginCheck(result)
{
if (result.readyState!=ReadyState.Complete)
return;

//成功获取;
if (result.status==HttpStatus.OK && result.responseText != "")
{
//执行返回的语句;
//alert(result.responseText);
if (result.responseText=='1')
{
if(toPrev ==false){
document.getElementById("LoginInfo").innerHTML='<ul><li>欢迎' + userName + '</li><li><a href="' + loginPath + 'member/">管理</a></li><li><a href="' + loginPath + 'Logout.aspx">退出</a></li></ul>';
}
else{
if(UrlPrev != ''){
document.location.href=UrlPrev;
}
else{
document.location.href=loginPath;
}
}
return;
}
else
{
if(document.location.href !="http://" + document.location.hostname + loginPath + "Member/Login.aspx")
document.location.href=loginPath + "Member/Login.aspx";
}
}
else
{
//失败;
document.location.href=loginPath + "Member/Login.aspx";
return;
}
}

function checkKey(caputureKey,n,p,t){
var key = window.event.keyCode;
if(key == caputureKey){
login(n,p,t);
}
}

function setLoginInfo(bLogin){
if(bLogin){
document.getElementById("LoginInfo").innerHTML='<ul><li>欢迎' + userName + '</li><li><a href="' + loginPath + 'member/">管理</a></li><li><a href="' + loginPath + 'Logout.aspx">退出</a></li></ul>';
}
else{
}
}

function gotoUrl(s){
window.location.href=loginPath + 'Member/RegUser.html';
}