`

今天才写的AJAX JS类库,开源免费使用.非常简单方便.热乎乎的呢,献丑了...不好的大家一起改改啊!

阅读更多
发个包上来/Files/eicesoft/AJAX.zip完整的打包
  1 /**
  2 AJAX类库 0.9
  3 @appellation    AJAX Lib 0.9
  4 @author         张怡冰
  5 @date           2007-08-01
  6 @copyright      ShanghaiLongzhong
  7 */
  8 function AJAXLib()
  9 {
 10     /**
 11     成员变量
 12     */
 13     this.XMLHttpReq = null;                        //XML对象
 14     this.method = "post";                        //执行的方法(post/get)
 15     this.URLString = "";                        //异步调用的页面地址
 16     this.response = "";                            //异步返回的响应字符串
 17     this.responseXML = "";                      //异步返回的响应XML
 18     this.failed = false;                        //创建对象错误标志
 19     
 20     /**
 21     事件区
 22     */
 23     this.onLoading = function() { };            //正在发送请求
 24     this.onLoaded = function() { };             //已经接收到全部响应内容
 25     this.onInteractive = function() { };        //正在解析响应内容
 26     this.onCompletion = function() { };         //响应内容解析完成
 27     this.onError = function() { };              //异步错误处理事件
 28     this.onFail = function() { };               //创建对象失败处理世界
 29     
 30     /**
 31     重置所有事件函数
 32     */
 33     this.resetFunctions = function() {
 34         this.onLoading = function() { };
 35         this.onLoaded = function() { };
 36         this.onInteractive = function() { };
 37         this.onCompletion = function() { };
 38         this.onError = function() { };
 39         this.onFail = function() { };
 40     };
 41     
 42     /**
 43     初始化函数(构造时自动初始化)
 44     */
 45     this.Init = function()
 46     {
 47        //对于Mozilla浏览器
 48         if(window.XMLHttpRequest)
 49         {
 50             //直接使用XMLHttpRequest函数来创建XMLHttpRequest对象
 51             this.XMLHttpReq = new XMLHttpRequest();
 52         }
 53         //对于IE浏览器
 54         else if (window.ActiveXObject)
 55         {
 56             //使用AcitveXObject函数创建浏览器
 57             try
 58             {
 59                 this.XMLHttpReq = new ActiveXObject("Msxml4.XMLHTTP");
 60             }
 61             catch(e)
 62             {
 63                 try
 64                 {
 65                     this.XMLHttpReq = new ActiveXObject("Msxml3.XMLHTTP");
 66                 }
 67                 catch(e)
 68                 {
 69                     try
 70                     {
 71                         this.XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
 72                     }
 73                     catch(e)
 74                     {
 75                         try
 76                         {
 77                             this.XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
 78                         } 
 79                         catch(oc)
 80                         {
 81                             this.failed=true;   //创建AJAX对象发生异常
 82                         }
 83                     }
 84                 }
 85             }
 86         }
 87     };
 88     
 89     /**
 90     发送请求函数
 91     @param data 发送的数据
 92     @example send("id=1");
 93     */
 94     this.Send=function(data)
 95     {
 96         var self=this;
 97         //通过open方法取得与服务器的连接
 98         if(this.method=="post")
 99         {
100             this.XMLHttpReq.open(self.method,self.URLString,true);
101         }
102         else
103         {
104             this.XMLHttpReq.open(self.method,self.URLString+"?"+encodeURI(data),true);
105         }
106         //添加消息响应头
107         this.XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
108         
109         //异步回调函数
110         this.XMLHttpReq.onreadystatechange = function()
111         {
112             //对象未创建
113             if (self.failed) {
114                 self.onFail();
115                 return;
116             }
117             
118             //消息响应标志
119             switch (self.XMLHttpReq.readyState) {
120                 case 1:
121                 {
122                     self.onLoading();
123                     break;
124                 }
125                 case 2:
126                 {
127                     self.onLoaded();
128                     break;
129                 }
130                 case 3:
131                 {
132                     self.onInteractive();
133                     break;
134                 }
135                 case 4:
136                 {
137                     if(self.XMLHttpReq.status==200) { 
138                         self.response = self.XMLHttpReq.responseText;
139                         self.responseXML = self.XMLHttpReq.responseXML;
140                         self.onCompletion();
141                     }
142                     else 
143                     { 
144                         self.onError();     //执行错误函数
145                     }
146                     break;
147                 }
148             }
149         };
150         if(this.method=="post")
151         {
152             this.XMLHttpReq.send(encodeURI(data)); //发送请求
153         }
154         else
155         {
156             this.XMLHttpReq.send(); //发送请求
157         }
158     };
159     
160     this.Abort=function()
161     {
162         this.XMLHttpReq.abort();
163     }
164     
165     this.Close=function()
166     {
167         this.XMLHttpReq=null;
168     }
169     //初始化AJAX库
170     this.Init();
171 }

测试页代码(test.htm)
 1 <html>
 2 <head>
 3     <script language="javascript" src="AJAXLib.js"></script>
 4     <script language="javascript">
 5         var st=new AJAXLib();
 6         st.URLString="a.aspx";
 7         //st.method="post"
 8         st.onCompletion=function()
 9         {
10             alert(st.response);
11         }
12         st.onLoading=function()
13         {
14             alert("onLoading");
15         }
16         st.onLoaded=function()
17         {
18             alert("onLoaded");
19         }
20         st.onInteractive=function()
21         {
22             alert("onInteractive");
23         }
24         st.Send("id=1&name=张怡冰");
25     </script>
26 </head>
27 <body>
28     
29 </body>
30 </html>

服务器端代码(a.asp)

1 <%
2     Dim id1,name1
3     id1=Request.QueryString("id")
4     name1=Request.QueryString("name")
5     Response.Write("你好:"+name1+"你的ID是"+id1)
6 %>
分享到:
评论

相关推荐

    jquery Ajax js类库

    **jQuery AJAX 库详解** jQuery 是一款非常流行的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画设计以及Ajax交互等任务。在Web开发中,jQuery 的 AJAX 功能是其一大亮点,它使得开发者能够实现无刷新...

    javascript类库prototype.js

    Prototype.js 是一个强大的JavaScript类库,它为开发者提供了丰富的功能,使得创建具有高度互动性和Web2.0特性的富客户端页面变得更为简单。这个库的设计理念是扩展JavaScript的基础对象,提供一套统一且易于使用的...

    MicrosoftAjax.js 实现Ajax类库

    MicrosoftAjax.js是微软为.NET Framework开发的一个Ajax库,它使得开发者能够在JavaScript环境中更轻松地实现Ajax功能。** 在JavaScript中,实现Ajax通常涉及以下几个关键步骤: 1. **创建XMLHttpRequest对象**:...

    一个功能强大的基于C#实现的轻松完成Web网页Ajax的开源类库9.2.17.1版本源码

    AjaxPro是一个针对.NET Framework的开源类库,专为C#开发者设计,用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)交互。这个类库的主要目标是让开发者能够更轻松地在Web页面上实现异步更新,提升...

    javascript类库及使用说明

    JavaScript 类库是开发者为了简化JavaScript编程,提高代码复用性和可维护性而创建的工具集合。其中,jQuery 是最广为人知且广泛应用的类库之一,它极大地简化了DOM操作、事件处理、动画效果和Ajax交互。在...

    封装JavaScript常用类库.rar

    在JavaScript编程中,封装是一种重要的面向对象编程原则,它允许我们隐藏实现细节,提供更简洁、安全的...通过学习和使用这些封装好的类库,开发者可以更好地遵循最佳实践,写出更健壮、更易于维护的JavaScript代码。

    基于Ajax的php开源留言板.zip

    Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提升了用户体验。PHP则是一种广泛使用的...

    一个非常优秀的基于DHTML+ajax套装类库及大量源码例子程序

    **DHTML+Ajax套装类库**是一组预封装的JavaScript函数和对象,为开发者提供了一种更高效、更简洁的方式来实现DHTML和Ajax功能。这样的类库通常包括了对DOM操作、事件处理、动画效果、Ajax请求等常见任务的封装,使得...

    jquery.unobtrusive-ajax.min.js

    Ajax.BeginForm 提交,需要引用此文件才会执行OnSuccess

    Ajax(Ajax使用js包)

    使用Ajax实现从服务器读取数据,包括Ajax实现的详细步骤

    Ajax 简单封装类库

    ajax轻量级封装,简单实用,带有详细注释。 一、同一个对象可以发送多个请求,按顺序执行请求,有简单的超时机制,httpXMLRequest对象复用,无序的可以建立多个对象发送请求来实现; 二、兼容IE,FF,支持同步、异步...

    JavaScript_Videojs开源HTML5视频播放器.zip

    JavaScript_Videojs开源HTML5视频播放器.zip是一个包含JavaScript编程语言和Video.js库的资源包。Video.js是一个广泛使用的开源HTML5视频播放器,它允许开发者创建功能丰富的、自定义的视频体验。在这个压缩包中,有...

    Apress.Pro.Ajax.and.Java.Frameworks.Jul.2006.HAPPY.NEW.YEAR.rar

    《Apress.Pro.Ajax.and.Java.Frameworks.Jul.2006.HAPPY.NEW.YEAR》这本书专注于探讨如何在Java环境中利用Ajax技术构建高效、交互性强的Web应用。Ajax(Asynchronous JavaScript and XML)是一种用于创建动态网页的...

    一个基于ASP.NET+C#简化Web网页的Ajax操作类库源码及例子程序

    "Simple use of Ajax"可能是示例程序或者类库文件的名称,它暗示了这个压缩包包含的内容将展示如何简便地在ASP.NET+C#环境中使用Ajax。 **详细知识点:** 1. **Ajax基础**:首先,了解Ajax的基本概念,包括异步...

    ajax和js的web开发

    在Web开发领域,Ajax(Asynchronous JavaScript and XML)与JavaScript是两种至关重要的技术,它们共同构建了现代网页的动态交互体验。Ajax的核心理念是通过后台数据异步交换,实现页面无需刷新即可更新部分内容,...

    jquery类库.zip

    jQuery是一个广泛应用于Web开发的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计和Ajax交互。这个“jquery类库.zip”文件显然包含了有关jQuery的核心库及相关资源,可能是不同版本的jQuery库...

    EXTJS 类库 4.0 beta 下载.rar

    EXTJS 类库4.0 beta,本身自带有丰富的UI用户界面,用来开发RIA富客户端的AJAX应用,无后台AJAX无直接联系,可方便用在ASP/PHP/.Net/Java/JSP等多种WEB开发语言中。

    ajax开源框架prototype.js

    很好用的ajax开源框架prototype.js,支持强大的异步交互功能,使你的页面更灵活,具有更好的用户体验

    php xajax 类库

    XAJAX 是一个基于 PHP 的开源库,它使得在 Web 应用程序中实现 AJAX(Asynchronous JavaScript and XML,异步JavaScript与XML)技术变得更加简单。AJAX 允许网页在不刷新整个页面的情况下与服务器交换数据并更新部分...

    prototype(JS类库).rar

    Prototype是一个强大的JavaScript类库,它的出现是为了弥补JavaScript在面向对象编程方面的不足,提供了一套丰富的函数和工具,使开发者能够更高效地编写可维护的JavaScript代码。Prototype的核心理念是通过模拟传统...

Global site tag (gtag.js) - Google Analytics