ajax 小方法. 详细使用方法

本文介绍了一种简易的Ajax实现方法及其使用流程。通过提供的JavaScript代码,可以快速完成页面元素的异步请求与响应处理。文章包含了一个具体的验证用户名的例子,并展示了如何配置Ajax请求及处理返回的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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.$1return RegExp.$1;
          
return "";
 }

 
 
function crr(rp) {
          
if(RegExp.$1)/(.*)/.exec("");
          
var re=new RegExp("<content>(.*)</content>");
          re.exec(rp);
          
if(RegExp.$1return 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">&nbsp;</div></td>
              
</tr>
</table>
</body>
</html>

3:后代操作代码

LoadData.aspx?types=156

LoadData.aspx.vs

 

sub Page_Load()
     
dim Str as string = Request.QueryString("types")
     Response.Write(
"<zwd><result>OkSuc</result></zwd>")
end sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fx_blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值