ajax 小方法. 详细使用方法
////////////////////Ajax////////////Class///////////////////
//Power By WeisNet CopyRight @2006
//Edit Section for 56Best
/////////////////////////////////////////////////

var Try = ...{
these: function() ...{
var returnValue;

for (var i = 0; i < arguments.length; i++) ...{
var lambda = arguments[i];
try ...{
returnValue = lambda();
break;
} catch (e) ...{}
}
return returnValue;
}
}

function grr(rp) ...{
if(RegExp.$1)/(.*)/.exec("");
var re=new RegExp("<result>(.*)</result>");
re.exec(rp);
if(RegExp.$1) return RegExp.$1;
return "";
}

function crr(rp) ...{
if(RegExp.$1)/(.*)/.exec("");
var re=new RegExp("<content>(.*)</content>");
re.exec(rp);
if(RegExp.$1) return RegExp.$1;
return "";
}

var Ajax = function() ...{}
var xhr ;
Ajax.prototype.Init = function()...{
return Try.these(
function() ...{return new ActiveXObject("Msxml2.XMLHTTP")},
function() ...{return new ActiveXObject("Microsoft.XMLHTTP")},
function() ...{return new XMLHttpRequest()}
) || false;
}

Ajax.prototype.Config = ...{
Init:function() ...{},
Result:"",
SucInfo:"",
FaildInfo:"",
Url:"",
returnType:"Compare"
}
var aj = new Ajax();

Ajax.prototype.func = function() ...{
if (typeof xhr != 'undefined') 
if (xhr.readyState == 4) ...{
if (xhr.status == 200)
...{
aj.FuncResult();
}
else
...{
aj.Config.Result = "";
return false;
}
}
else 
...{
aj.Config.Result = "";
return false;
}
}


Ajax.prototype.Action = function(url) ...{
url = url+'&e='+Math.random();
xhr = aj.Init();
xhr.open("POST",url,false);
xhr.onreadystatechange = aj.func;
xhr.send(null);
}

Ajax.prototype.onResult = function(v) ...{
return v==aj.Config.Result;
}
Ajax.prototype.FuncResult = function()
...{
if (aj.Config.returnType=='Compare')
...{
if (aj.onResult(grr(xhr.responseText)))
...{
aj.Config.Spn.innerHTML = aj.Config.FaildInfo;
}
else
...{
aj.Config.Spn.innerHTML = aj.Config.SucInfo;
aj.location();
}
}
else
...{
aj.Config.Spn.innerHTML = crr(xhr.responseText);
}
}
Ajax.prototype.location = function()
...{
if (aj.Config.Url!='')
window.location.href=aj.Config.Url;
}

var WebServices = function() ...{}
WebServices.Config = ...{
}
使用方法
如下HTML代码
<html>
<head>
<title>Ajax小方法,使用方法</title>
<script language='javascript'>...
function Cfrlogname(ln)
...{
if (!checkByteLength(ln.value.trim(),4,20))
...{
alert('请输入4-20字符用户名!');
ln.focus();
return false;
}
var Webreq = new Ajax();
Webreq.Config.Result = "OkSuc";
Webreq.Config.Spn = document.all.logName_info;
Webreq.Config.SucInfo = "验证成功!";
Webreq.Config.FaildInfo = "对不起,验证失败!"; Webreq.Config.returnType = 'Compare';
Webreq.Config.Url = 'www.56best.cn';
Webreq.Action('editData.aspx?types='+ln.value.trim())
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" name="logName" id="logName" runat="server" >
<input type="button" name="Submit" value="检查会员名" onclick="Cfrlogname(document.all.logName)"></td>
</tr>
<tr>
<td class="gray_2"><div id="logName_info"> </div></td>
</tr>
</table>
</body>
</html>
Webreq.Action('editData.aspx?types='+ln.value.trim())
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="text" name="logName" id="logName" runat="server" >
<input type="button" name="Submit" value="检查会员名" onclick="Cfrlogname(document.all.logName)"></td>
</tr>
<tr>
<td class="gray_2"><div id="logName_info"> </div></td>
</tr>
</table>
</body>
</html>3:后代操作代码
LoadData.aspx?types=156
LoadData.aspx.vs

Sub Page_Load()sub Page_Load()
dim Str as string = Request.QueryString("types")
Response.Write("<zwd><result>OkSuc</result></zwd>")
end sub
本文介绍了一种简易的Ajax实现方法及其使用流程。通过提供的JavaScript代码,可以快速完成页面元素的异步请求与响应处理。文章包含了一个具体的验证用户名的例子,并展示了如何配置Ajax请求及处理返回的数据。
976

被折叠的 条评论
为什么被折叠?



