http://www.cnblogs.com/qiantuwuliang/archive/2009/07/21/1527502.html
RIA知识库
flex
RIA
/*
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 ( "您还没有登陆或者登陆已经超时, 请登陆后重试!" );
}
}
}
分享到:
相关推荐
**标题解析:** "自己用的简单封装AJAX类" 指的是作者为了个人使用需求,编写了一个简化的AJAX处理类。AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,...
表单元素如输入框、按钮等可以与JavaScript事件监听器结合,当用户触发特定事件(如点击按钮)时,JavaScript会捕获该事件并调用之前提到的Ajax类,发起异步请求。例如,当用户提交表单时,可以使用jQuery库的`$....
【标题】中的“源代码-AJAX类,调用方式类似jQuery”暗示了这是一个关于JavaScript编程的资源,特别是与AJAX(异步JavaScript和XML)技术相关,而且其设计风格和使用方法受到了jQuery库的启发。在AJAX的帮助下,...
这个“一个好用的ajax类”似乎提供了一个简化版的JavaScript实现,帮助开发者更方便地使用Ajax。 在JavaScript中,Ajax通常通过XMLHttpRequest对象来实现,但自定义的Ajax类可以封装这些细节,提供更加友好的API。`...
在给定的压缩包“ASP源码—AJAX类,调用方式类似jQuery.zip”中,我们可以推测它包含了一个ASP源代码实现,该实现可能是一个自定义的AJAX库,设计风格和使用方式与广泛流行的jQuery库相似。 AJAX(Asynchronous ...
3、封装了访问Ajax和WebService的API。WebService兼容SOAP1.1和SOAP1.2 4、该资源为作者本人劳动成果。使用方式可以参考另一资源(javascript访问WebService,js未经封装,但使用方式一样)如有疑问或建议请留言,如有...
ajax类,有file,put解释!
我自己写的一个Ajax类文件,是 BoroAjax.js 使用起来非常方便,比如: /****** new defBoroAjax( "server.asp", "id=Ajax", "post", $ajax("in") ).run(); *******/ 就可以实现以post方式发出的请求...
这个压缩包“基于ASP的AJAX类,调用方式类似jQuery.zip”显然是一个包含ASP与AJAX技术结合的代码库,其设计目的是为了让ASP开发者能够更方便地在服务器端实现异步数据交互,同时保持前端用户体验的流畅性,类似于...
一个很好的AJAX类,用起来很简单。请大家及时下载
我写的一个JS AJAX 类 ajax.rar ajax 中文说明和用法实例! /** * Ajax对象 * function functionName(){if(myAjax.name.readyState == 4
ASP实例开发源码—艾恩AJAX类,调用方式类似jQuery.zip ASP实例开发源码—艾恩AJAX类,调用方式类似jQuery.zip ASP实例开发源码—艾恩AJAX类,调用方式类似jQuery.zip
简单Ajax 类及示例 直接在初始对像时请求 响应事件,容器 直接在初始对像时请求 仅响应事件 直接在初始对像时请求 仅响应容器 初始对像后操作 响应事件,容器 初始对像后操作 仅响应事件 初始对像后操作 仅响应容器 ...
JS Ajax类 -------------------------------------
* Ajax对象 * function functionName(reAjax,status){if(status == 200)alert(reAjax.responseText);} * * 例:1:GET * var myAjax=new Ajax(); * myAjax.open("http://www.ttzx.com:88/ajax/re.php",functionName);...
源码描述: 开发环境:vs2010+sql2008r2 技术特点: 多层层架构,MVC3.0,EF,jquery ashx ajax实现,利用ajax交互类似百度只能感知 功能描述: 可以展示分类信息,查询分类信息 登陆,注册用户
因此,为了提高开发效率,通常会对其进行封装,创建一个自定义的Ajax类。 这个“已封装的Ajax操作类”很可能就是这样的一个工具,它可能包含了一系列的方法,如`get()`、`post()`等,分别对应HTTP的GET和POST请求。...
一个类实现 AJAX, 支持POST与GET提交
在提供的`ajax.js`文件中,我们可以预期包含一个简化版的Ajax类,这个类可能是为了简化JavaScript中的Ajax请求处理。在JavaScript中,Ajax请求通常通过创建XMLHttpRequest对象来实现,但这样的代码往往比较繁琐。...
需要服务端支持,发出请求是会有callback ,context 两个值,服务端返回必需是 callback(context,response)一个javascript函数调用 response 可以是个对象如 {a:1,b:2}