Ajax类

http://www.cnblogs.com/qiantuwuliang/archive/2009/07/21/1527502.html
[url=http://www.riaos.com]RIA知识库[/url]
[url=http://www.riaos.com]flex[/url]
[url=http://www.riaos.com]RIA[/url]


/*
Ajax 类
sUrl : 目标 URL
sQueryString : 提交变量
callbackFunc : 回调函数
callbackParams : 回调函数参数
sRecvType : 返回值格式 ( 0: 文本, 1: XML );
*/

function Ajax ( sUrl, sQueryString, callbackFunc, callbackParams, sRecvType )
{
this.Url = sUrl;
this.QueryString = sQueryString != null ? sQueryString : '';
this.response; // 返回值

this.XmlHttp = this.createXMLHttpRequest ();
if ( this.XmlHttp == null )
{
alert ( "网络连接出错, 请重试!" );
return;
}
var objxml = this.XmlHttp;
objxml.onreadystatechange = function ()
{
Ajax.handleStateChange ( objxml, sRecvType, callbackFunc, callbackParams )
}
}

Ajax.prototype.createXMLHttpRequest = function ()
{
try
{
return new ActiveXObject ( "Msxml2.XMLHTTP" );
}catch(e) {}

try
{
return new ActiveXObject ( "Microsoft.XMLHTTP" );
} catch(e) {}

try
{
return new XMLHttpRequest ();
} catch(e) {}

return null;
}

Ajax.prototype.createQueryString = function ()
{
var queryString = '';
if ( this.QueryString != null && typeof ( this.QueryString ) != 'string' )
{
var elements = this.QueryString.elements;
var pairs = new Array();
for(var i=0;i<elements.length;i++){
if((name=elements[i].name)&&(value = elements[i].value)){
pairs.push(name + "=" + encodeURIComponent(value));
}
}
queryString = pairs.join ("&");
}
else
{
queryString = this.QueryString;
}
return queryString;
}

Ajax.prototype.get = function ()
{
sUrl = this.Url;
var queryString = sUrl + ( sUrl.indexOf ('?') > 0 ? '&' : '?' ) + this.createQueryString();
this.XmlHttp.open ( "GET", queryString, true );
this.XmlHttp.send ( null );
}

Ajax.prototype.post = function ()
{
var sUrl = this.Url;
var queryString = this.createQueryString ();
this.XmlHttp.open ( "POST", sUrl, true );
this.XmlHttp.setRequestHeader ( "Content-Type","application/x-www-form-urlencoded" );
this.XmlHttp.send ( queryString );
}

Ajax.handleStateChange = function ( XmlHttp, sRecvType, callbackFunc, callbackParams )
{
if ( XmlHttp.readyState == 4 )
{
if ( XmlHttp.status == 200 )
{
Response = sRecvType ? XmlHttp.responseXML : XmlHttp.responseText;
if ( callbackFunc != null )
{
callbackFunc ( Response, callbackParams );
}
}
else
{
// alert ( "您还没有登陆或者登陆已经超时, 请登陆后重试!" );
}
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值