AJAX框架汇总
JSP Ajax Ajax框架概述
JSP Ajax Ajax框架概述在使用JavaScript、XML、DOM等技术编写Ajax页面时,我们需要考虑很多问题,如针对不同的浏览器,需要使用不同的方式创建XMLHttpRequest对象,以达到在所有的浏览器都能够浏览演示。
编写一个Ajax案例,如果还是采用以前的A jax设计方法,不可以避免的要产生大量的重复性代码,如每个Ajax页面都需要创建XMLHttpRequest对象,对XML文件的处理方式等。
编写Ajax页面的大量时间浪费在这些重复性的代码上,显然有点不划算。
这些情况对一个优秀的程序员来说,根本不是问题。
我们可以把这些重复性的代码,多次需要调用的代码,以面向对象的方式封装到一个文件里面,如创建XMLHttpReq uest对象。
把重复性、关键性代码封装起来,能够达到代码重复重用的目的,能够很好的维护程序和调试程序。
把重复性代码封装起来,做出独立的文件,这里文件的扩展名为.js。
利用这些封装JavaScript文件可以形成自己的代码库,进而形成属于自己的框架。
创建属于自己的Ajax代码库,会花费大量的时间,并且还需要时刻注意代码库的Bug并进行修正。
对于个人来说,还不如使用一些现成的Ajax框架,毕竟这些框架是经过优秀程序员创建和大量的用户测试。
从Ajax诞生以来,人们就发现使用Ajax框架可以带来极大的方便,节省了大量的时间和精力。
于是,大量的Ajax框架诞生了,Ajax框架很多,几乎每月都要产生一些新的框架。
有些框架基于客户端,有些基于服务器端;有些专门为特定语言设计,如Java。
另外还有一些与语言无关。
其中绝大部分都是开源的,但也有少数是专用的。
经过Ajax框架的发展,一些框架已经逐渐被淘汰,一些框架被保留了下来。
Ajax框架由于代码库封装代码的不同,可以分为基于浏览器的Ajax框架和基于服务器端的Ajax框架。
基于服务器端框架可以划分两种形式,分别为HTML/JS Generation(HTML/JS生成)和远程交互。
JSP Ajax 部署DWR框架
JSP Ajax 部署DWR框架如果要使用DWR框架开发Ajax程序,需要部署DWR框架。
DWR框架的部署非常简单,下载一个压缩文件,配置两个文件就可以了。
在部署DWR框架之前,需要下载DWR框架的代码库,其名称为dwr.jar。
DWR框架的官方网站地址为htt p:///dwr/,下载过程非常简单,这里就不再介绍,读者也可以从其他网站上下载DWR框架的最新版本。
DWR框架现在最新的版本为DWR 2.0.5(对于2. 0版本的DWR要求注册),读者如果不愿意下载,可以使用本书光盘所带的dwr.jar 包。
在这里采用一种非常简单的方法部署DWR框架,当然还有其他的方式。
部署DWR框架的步骤分别为安装DWR框架代码库、编辑和配置文件,最后是测试D WR框架。
1.安装dwr.jar压缩包将下载后dwr.jar压缩包,复制到Tomcat安装目录下的lib文件内;笔者配置时,直接将该压缩包放入C:\Tomcat 6.0\lib文件内。
文件放置完成后,重新启动Tomcat 服务器。
2.配置文件进入到Tomcat的运行目录下,即C:\Tomcat 6.0\webapps内。
创建文件夹DWR Example用来存放创建的DWR框架文件。
在DWRExample创建WEB-INF文件夹,使用DWR需要在web.xml中声明DWR Servlet,以下是保证DWR运行的最基本的代码,缺少哪一部分DWR都不能正常运行。
上述代码的含义是在web.xml 文件中,加入了一个Servlet文件,该文件名称为dwr-invoker,该文件路径在org.di rectwebremoting.servlet.DwrServlet内,实际上就是在dwr.jar压缩包中。
该Servlet文件具有属性,属性名称为debug,值为true。
访问该Servlet文件的URL路径是/ dwr/*。
web.xml文件只能声明要使用的DWR Servlet文件,如果完成JavaScript函数和Java方法之间的映射,还需要进一步配置。
基于Ajax的PHP框架构建
Ke od : ; a ; aa ; OA yw rs P x S jx X D
O 引 言
传统 的动 态页 面技术 一直是 开 发动态 we 应 用 b 的主流技术 。用户在 向服务 器提交 ㈣ 请求后, 往 往需要等待较长时 间更 新页 面 , 量无 须更 新 的内容 大
李 昕 , 2
(. 1 中南大学 信息科学与工程学院, 湖南 长沙 408 ; 10 3
2 湖 南财 经 高等 专科 学校 信 息管理 系, 南 长 沙 4 00 ) . 湖 12 5
摘 要 :i 框 架是 多种 现有 技术 的综 合 , Aa x 它有 效减 少 了 B S 式 下无 效 的 网络 流 量 , /模 大大 改 善 了浏 览 器端 的用 户体 验 ,
维普资讯
第 l 7卷 第 8期 20 0 7年 8月
计 算 机 技 术 与 发 展
COM PUTER TECHNOL OGY AND DEVEL 0PⅣ【 ENT
Vo . 7 No. 11 8 Au 2 0 g. 07
基 于 Aa jx的 P P框 架 构 建 H
将传统的动态 网页技术 隐藏 到 了后 台, 动态程 序反 馈
的结果被直接显示在 静态页 面上 , 而不再 需要 整个 页
面的刷新 , / B S模式 的用户 体验 到 了类 似 C S模式 客 /
户端的显示效果 。 Aa( snho os aac p n ML) 实是 多 j A y crnu v,r t dX x J Si a 其
2 et o fr t nMaae n , nnA vn e iac .D p. fI omai n gme t Hsa4 0 0 , hn ) n o cn myC lg ,C agh 12 5 C i e a
基于Ajax的应用程序架构汇总
基于Ajax的应用程序架构汇总2005-08-15浏览器端框架被划分成两大类:·应用程序框架:提供浏览器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要围绕桌面GUI框架。
·基本结构框架:提供基本的管道和可移植的浏览器抽象,让开发者去创建内容。
典型的功能:* 针对XMLHttpRequest的包装器以封装浏览器-服务器的交互。
(所有的框架都提供这一功能)。
* XML操作和查询。
* 根据来自XMLHttpRequest的应答执行DOM操作。
* 在一些情况中,与另外的浏览器端技术如Flash(和潜在的Java applets)集成在一起。
而服务器端框架通常以下面两种方式工作(尽管它们在这里根据语言的不同进行了分类):·HTML/JS生成:服务器提供完整的HTML/Javascript代码生成和浏览器-服务器协调,结果是只有浏览器端编码可以被定制。
·远程调用:Javascript调用直接被路由到服务器端功能(例如Java方法)并返回到Javascript回叫处理器;或者Javascript 调用服务器以提取信息,例如会话细节,数据库查询等。
·纯Javascript:应用程序框架1.1 Bindows(自从2003年)网址是:,Bindows是一个软件开发包(SDK),它,通过强力联合DHTML,JavaScript,CSS和XML等技术,能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力对手。
Bindows应用程序不要求下载和也不需要在用户端安装-仅要求有一个浏览器(也不需要Java,Flash或者ActiveX)。
Bindows有可能领导面向对象开发的AJAX 应用程序的平台。
·它是商业化的,使用来自于MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。
Bindows框架提供给你:·基于类的面向对象的API·一套完整的窗口系统,提供宽范围的窗口小部件支持,包括菜单、表单、格子、滑动条、量程,甚至更多·用于开发zero-footprint SOA客户端应用程序的领先的工具箱·本机的XML,SOAP和XML-RPC支持·单用户到企业级的支持·内建的对AJAX的支持Bindows开发环境:·支持企业级规模的工程开发·跨浏览器,跨平台支持·服务器独立结构·与新的和现有资源的互操作性·一致性开发方法学1.2 BackBase(自从2003年)网址是:,是一个全面的浏览器端框架,支持丰富的浏览器功能以及与.NET和Java的集成。
AJAX框架在web服务中的应用
户 良好交互  ̄ 体验性 。 l l t '  ̄
2
A X模 型和 We b服务
J X A yc rn u aa cp dX ) A A ( sn ho o sJvSd t n ML 中 的各 a
种技术随着 w b系统 的形 成就 己存 在 , e 它是各种 技术
t r ace n e f
l
JavsS crptca l i l br w s l o er d cn t
使用 X 和 X T 进行 数 据交 换与 处理 ; 用 X H— ML SL 使 ML t tR q et 象进 行异 步数 据 操作 ; p eus对 使用 Jvsr t aa cp 绑 i 定和 处理所有数据。它打破 了使 用页面 重载 的惯例技 术组 合 , 随着 A A 在用户体 验上的表现 , JX 各大公司如 : Mi sf G O L, E S N, M 也 都纷 纷 加入 和 提 c o , O G E BA,U I o r t B 供 了对 此 技 术 的 支 持 和 开 发 , 以说 A A 已成 为 可 JX
调 用的优 势和弱 势。
关键 词 : A e 服务 JV S R T 简单对 象访 问协议 J AX w b A AC I P
1 引言
We 2 0技 术正 在如 火如 茶 的进行 , b. 传统 的 w b e 开 发体 系 己不再 能满 足 用户 对交 互性和 体 验性 的需 求 。随着 A A 框 架模 型的提出和应 用, JX 逐渐实现 了用
传统 WE B应用模 型工作方式 : 用户通过接 口向服 务端 发送一个 H _ 1P服 务请 求 , 后服 务端 接收和 处 r 然 理数 据 , 并和 各种 传统系统交 互 , 最后返 回 H ML T 页面
ajax技术原理
ajax技术原理Ajax是一种用于创建交互式Web应用程序的技术,它可以让Web页面可以在不刷新整个页面的情况下向服务器发送请求并获取数据,然后在页面中动态地显示它们。
Ajax技术是基于多种技术的复杂集成,它涉及到浏览器端JavaScript、DOM、XMLHttpRequest对象、服务器端脚本等多个方面。
本文将针对Ajax技术的原理、工作流程、技术架构等方面进行详细的介绍。
一、Ajax技术的原理Ajax全称为Asynchronous JavaScript and XML,它最初是由Jesse James Garrett提出的一种Web开发技术,Ajax技术的核心思想是使用JavaScript和XMLHttpRequest对象来与服务器异步通信,从而实现页面的更新,而不需要刷新整个页面。
在使用Ajax技术前,Web应用程序需要刷新整个页面,同时每次页面刷新会向服务器发送一次请求,导致页面响应延迟,影响用户体验。
而使用Ajax技术后,浏览器可以只更新部分页面,不需要刷新整个页面,同时可以多次向服务器请求数据。
Ajax技术的原理是基于JavaScript语言,通过JavaScript语法实现浏览器与服务器之间的异步通信。
在Web页面中,我们可以通过JavaScript创建一个XMLHttpRequest对象,然后使用该对象向服务器发送请求并获取数据。
发送的请求类型可以是各种不同的请求类型,比如GET、POST、PUT、DELETE等。
服务器接收到请求后,会对请求进行处理,并将响应数据返回给浏览器。
浏览器接收到响应数据后,就可以将其显示到页面中,完成页面的更新,而不需要刷新整个页面。
二、Ajax技术的工作流程Ajax技术的工作流程是由浏览器端和服务器端两部分组成。
浏览器端负责通过JavaScript创建XMLHttpRequest 对象,然后向服务器发送HTTP请求。
在服务器端,接收到HTTP请求后,服务器会根据请求类型进行相应的处理,然后将处理结果返回给浏览器。
Ajax框架概述
Ajax框架概述在编写Ajax页面时,有时会出现一些重复性代码。
这时可以把这些重复性的代码,即多次需要调用的代码,以面向对象的方式封装到一个文件里面,如创建XM LHttpRequest对象的代码。
这样能够达到代码重复重用的目的,能够很好的维护程序和调试程序。
重复性代码被封装成独立文件,其文件扩展名为.js。
利用封装Java Script文件可以形成自己的代码库,进而形成属于自己的框架。
创建属于自己的Ajax代码库(框架),会花费大量的时间,并且还需要时刻注意代码库的Bug并进行修正。
对于个人来说,还不如使用一些现成的Ajax框架,毕竟这些框架是经过优秀程序员创建和大量的用户测试。
从Ajax诞生以来,人们就发现使用Ajax框架可以带来极大的方便,节省了Aj ax程序员大量的时间和精力。
Ajax框架很多,主要可以分为两种类型,基于客户端和基于服务器端。
其中,大部分都开源,但也有少数专用。
本节中不可能每个框架都进行介绍,只对现在比较流行的框架进行介绍,并且对框架也不去进行深入的介绍。
Ajax框架由于代码库封装代码的不同,可以分为基于浏览器的Ajax框架和基于服务器端的Ajax框架。
基于服务器端框架可以划分两种形式,分别为HTML/JS Generation(HTML/JS生成)和远程交互。
第一种形式是通过服务器端生成HTML和JS代码在传递给浏览器端进行直接运行。
第二种形式是利用JavaScript调用服务器端函数(例如调用.NET函数)并返回给JavaScript 的回调句柄,或者请求服务器数据信息,例如Session信息,数据库查询等。
常用的Ajax框架,有Dojo、prototype、DWR、Buffalo、openrico、qooxdoo、YUL、、和Atlas等。
如下是对一些框架的简单描述:(1)Dojo是一个各个方面相当完善的JS库,包括了JS本身的语言扩展,以及各个方面的工具类库,和比较完善的UI组件库,也被广泛应用在很多项目中,他的UI组件的特点是通过给HTML标记增加tag的方式进行扩展,而不是通过写J S来生成,Dojo的API模仿Java类库的组织方式。
JSP Ajax Dojo框架实现提示对话框
JSP Ajax Dojo框架实现提示对话框Dojo框架为开发Web胖客户端程序提供了一套完整的Widget和一些特效操作。
Dojo提供了可以用于构建页面的一组丰富的标记。
Dojo的众多优点之一是它允许使用标准的HTML标记。
Dojo框架UI组件的特点是通过给html标签增加tag的方式进行扩展,而不是通过编写JS代码来生成。
这样,HTML开发人员就可以方便地使用Dojo框架。
现在创建一个案例,演示Dojo框架的使用和实现提示对话框。
打开记事本,将上述代码保存,名称为test.html,将该文件保存在和dojo-release-1.1.1文件夹同一个目录下。
启动Tomcat服务器,打开IE浏览器,在地址栏中输入http://localh ost:8080/DojoExample/test1.html,单击【转到】,会显示如图10-9所示窗口:图10-9 提示对话框在该文件中,代码“src=" dojo-release-1.1.1/dojo/dojo.js "”表示在当前文件中加载dojo.js文件,这样可以在当前文件中直接调用dojo.js文件中,创建的函数和对象,其中“dojo-release-1.1.1/dojo”表示路径信息。
djConfig是Dojo追加的自定义属性,在HTML标准里并没有。
使用djConfig可以做一些基本的配置,isDebug表示了当前页面中使用的dojo内容是否处在调试状态,在调试状态可以输出更多的内容,一般开发的时候我们选择true。
parseOnLoad表示所有的dijit组件是否在html 页面装载的时候自动的做展现(Render)处理,使用dijit组件的时候我们选择true,没有使用的时候使用false可以获得更好的性能。
代码“dojo.require("dijit.Dialog")”表示当前文件,需要使用的dojo类,这一步有些像Java中的import,注意添加引用的类会增加页面加载是JavaScript的下载量,所以应该尽量的精简引用的dojo对象。
jQuery Ajax 实例 全解析
jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯。
废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对jQuery.ajax()进行封装以方便我们使用的方法,当然,如果要处理复杂的逻辑,还是需要用到jQuery.ajax()的(这个后面会说到).1. load( url, [data], [callback] ) :载入远程HTML 文件代码并插入至DOM 中。
url (String) : 请求的HTML页的URL地址。
data (Map) : (可选参数) 发送至服务器的key/value 数据。
callback (Callback) : (可选参数) 请求完成时(不需要是success的)的回调函数。
这个方法默认使用GET 方式来传递的,如果[data]参数有传递数据进去,就会自动转换为POST方式的。
jQuery 1.2 中,可以指定选择符,来筛选载入的HTML 文档,DOM 中将仅插入筛选出的HTML 代码。
语法形如"url #some > selector"。
这个方法可以很方便的动态加载一些HTML文件,例如表单。
示例代码:$(".ajax.load").load("/yeer/archive/2009/06/10/ 1500682.html .post",function (responseText, textStatus, XMLHttpRequest){this;//在这里this指向的是当前的DOM对象,即$(".ajax.load")[0]//alert(responseText);//请求返回的内容//alert(textStatus);//请求状态:success,error//alert(XMLHttpRequest);//XMLHttpRequest对象});这里将显示结果。
ajax的流程
ajax的流程随着互联网的发展,网页的交互性越来越重要,而Ajax技术的出现为实现网页的动态效果提供了很好的解决方案。
本文将介绍Ajax 的流程,包括Ajax的定义、工作原理、流程以及应用场景等。
一、Ajax的定义Ajax全称Asynchronous JavaScript and XML,即异步JavaScript 和XML。
它是一种用于在Web应用程序中创建交互式用户界面的技术,可以在不重新加载整个页面的情况下更新页面的部分内容。
Ajax技术的出现使得用户可以更加快速、方便地获取页面内容,提高了用户体验。
二、Ajax的工作原理Ajax技术的核心是JavaScript和XML。
JavaScript可以通过XMLHttpRequest对象向服务器发送请求,服务器将数据以XML格式返回给客户端,JavaScript再通过DOM操作将数据更新到页面上。
由于Ajax是异步的,也就是说,当JavaScript向服务器发送请求时,它不会停止页面的其他操作,而是在后台进行请求和数据处理,从而实现了页面的动态效果。
三、Ajax的流程1. 创建XMLHttpRequest对象在使用Ajax技术之前,需要先创建XMLHttpRequest对象。
XMLHttpRequest对象是JavaScript内置的对象,用于向服务器发送请求和接收响应。
2. 发送请求当XMLHttpRequest对象创建完成后,可以通过open()和send()方法向服务器发送请求。
其中,open()方法用于设置请求的类型、URL 和是否异步等信息,而send()方法用于发送请求。
3. 接收响应当服务器接收到请求后,会根据请求的类型和URL返回数据。
在客户端,XMLHttpRequest对象会监听服务器的响应,并通过onreadystatechange事件来处理响应。
当服务器返回响应时,XMLHttpRequest对象会触发onreadystatechange事件,开发者可以通过该事件来获取服务器返回的数据。
利用Struts2框架和jQuery框架实现AJAX的开发
l
/ 此 处 省 略 g t r s t r方 法 / et 和 e e e t
m n—ag a c m os b aui .rc m o s lgi . o sl .r o m n — en tsa o m n —og g nj lj n jr z op . r 。 a m rh a 包 e j ( ) 写 处 理 程 序 A tn类 S IfA t n实 现 业 3编 co i t n co u o i
别就是¥ e ) . t方法是使 用 G T方式来进 行异步请求。 g( E
仅 提供 了表 现层 的数据 处理 , 还提供 了 国际化 、 J X、 AA 上传下 载等功 能
4 利 用 S rt2框 架 与 i e y框 架 实 现 t s u Qu r
A A 实例 JX
Srt 框 架 本 身 提 供 了对 A A 的 支 持 .通 过 与 t s u2 J X D WR和 D j 等 框 架 的 整 合 . 可 实 现 丰 富 的 A A oo 也 J X功
}
r t r UC S ; e u n S CE S
( ) Srt 2将 t s u 2的 JO 插 件 包 ( opui一 . .r SN i n lg 03 j s n 2a 等 ) 入 到 We 程 的 l 加 b工 i 件 夹 下 此 处需 要 注 意 的 h文
是 ,① 如果 是 S t 20 ' O t s .xJ N插件 包 是 i nlg — u r . S s p i o un
为 。
tirsl=j. S ig ; hseut 0 otn0 . t r /S s m. t r t ( irsl;/测 试 一 下 / yt o . i l t seut / e up nn h . ) l th xet ne{ c c( cpi ) a E o Ss m. t r t (; yt o . i l e e up nn )
AJAX03jMaki简介
T3: 流行的Ajax框架及 jMaki简介
❖ 使用DOM解析XML文件 ❖ A JAX的几种常用应用
回顾
2
目标
❖了解Ajax框架的现状 ❖了解jMaki框架 ❖掌握jMaki标签语法
3
目前“流行”的Ajax框架
❖ Prototype
▪ 一个非常优雅的JS库,定义了JS的面向对象扩展,DOM操作 API,事件等等,之上还有 rico/实现一些JS 组件功能和效果(尚不够完善)
❖ jMaki试图把网站开发包装成一个C/S风格的应用 ❖ 在浏览器端(客户端),jMaki的功能有:
▪ 显示风格、网页模板管理 ▪ 控件(Widget)模型 ▪ 客户端与服务器通讯所需的服务 ▪ 客户端所需的运行库
❖ 在服务器端,jMaki提供
▪ XMLHttpProxy,可实现跨域访问 ▪ 服务器端所需的运行库
JavaScript对象绑定到HTML元素的能力。这种绑定将是无 侵入的,只需要在HTML元素中加入若干个不影响排版的属 性,即可将数据与界面绑定
❖
9
目前“流行”的Ajax框架
❖ Yui
▪ Yahoo发布的AJAX组件库 ▪ 是一个包含了各个方面,从工具类库到通讯,到UI组件的综
4
目前“流行”的Ajax框架
❖ Dojo
▪ 包括了Javascript本身的语言扩展,以及各个方面的工具类 库,和比较完善的UI组件库,国际化程度高
▪ 包加载机制 (Package System)和模块化(Libraries)的结构 ,能保持更好的扩展性,提高执行性能,减轻了用户开发的 工作量,并保持一定的灵活性(用户可以自己编写扩展)
13
i
❖开发者:SUN公司的Greg Murray ❖ 2006年发布 ❖目前还没有发布API文档,只有作者的一个PPT ❖jMaki ==javascript wrappers ❖授权协议:BSD License ❖ 还支持PHP和Ruby ❖ 不是jMonkey…囧
AJAX控件整理(完整版)
本文由冬_寒季贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
AJAX确实让我没有想到的是 AJAX 居然是在 2007 年才真正走上了历史的舞台, 而且是伴随着一系列的新技术而来.其实,真正让我感叹的不是因为它是一种"新"的技术,而是发展之迅速. 所以,学习 AJAX 是相当有必要的,因为它在微软 Web 开发技术占据着重要的位置: 微软 Web 开发技术: 代码在后端运行,可轻松连接数据库,访问服务器,让用户动态交换数据, 动态产生网页. Silverlight 代码在浏览器端通过 Silverlight Player 运行,可利用 Xaml 代码生成互动的矢量对象和动画,并通过 Javascript 控制 AJAX 在前后端都有代码,可集成前后端的开发技术(Javascript 和 ) ,实现两端之间的非同步通信,数据交换和协作.当然,上面估计是针对 Silverlight1.0 或者 1.1 说的,如今已经发展到 4.0,而且 WPF 似乎也有心往 WEB 插足,而且是相当容易的,因为 Silverlight 本来就是其一个子集. 其实,我还在考虑一个问题,那就是.NET 中的另一个 WCF,似乎与 AJAX"有染" ,估计在未来的发展也不能小觑. 下面开始愉快的学习之旅. 首先介绍由 VS 提供的 AJAX 控件列表: ScriptManager:最常用的一个,而最"没用(不需要你用) "的一个. ScriptManagerProxy:在编写自定义控件的时候使用. Timer:定时回发. UpdatePanel:指定内容为更新区域. UpdaeProgress:显示更新进度条. 显然,只有这几个控件是不能满足我们的要求的,下面介绍AJAX ControlToolkit 中的控件列表: Accordion:折叠菜单目录AlwaysVisibleControlExtender:始终显示的控件-类似悬浮窗口 AnimationExtender:动画效果控件 AutoCompleteExtender:自动完成功能 Calendar:日历控件 CascadingDropDown:级联菜单控件CollapsiblePanel:折叠面板控件ConfirmButtonExtender:确认按钮DragPanelExtender:可拖拽面板 DropDownExtender:下拉菜单 DropShadowExtender:阴影控件 DynamicPopulateExtender:动态填充控件 FilteredTextBoxExtender:过滤控件HoverMenuExtender:菜单控件MaskedEditExtender:编辑验证控件ModalPapupExtender:具有关机效果的弹出式控件 MutuallyExclusiveCheckBoxExtender:互斥复选框控件NoBot:反BOT 控件NumericUpDownExtender:加减数值控件PagingBulletedListExtender:带项目符号的列表控件 PasswordStrength:密码强度提示控件 PopupControlExtender:弹出式控件 Rating:等级控件 ReorderList:可拖拽数据控件ResizableControlExtender:可伸缩控件RounderCornerExtender:锐化边角控件SilderExtender:滑块控件 TabContainer:选项卡控件 TextBoxWatermarkExtender:文本框水印控件 ToggleButtonExtender:个性化按钮控件 UpdatePanelAnimationExtender:局部刷新动画控件 ValidatorCaloutExtender:验证提醒控件事实上 ControlToolkit 当中的控件我只用过 ConfirmButton 和 Calendar 这两个之外, 好像别的都没用过, 这次主要的目的就是熟悉其他控件的使用. 估计有一些控件也没有多大用途, 在以后估计也没什么地方会用到,所以我都不用担心,你还担心什么呢?呵呵,继续,GO!1.AutoComplete 自动完成控件:功能:该控件实现自动提示,相信大家在上网的时候都遇到过在填写 TextBox 内容的时候,会自动提示以前输入过的数据,这个控件就是这样的功能. 属性: 1.TargetControlID:指定要实现提示功能的控件; 2.ServicePath:WebService 的路径, 提取数据的方法是写在一个 WebService 中的; 3.ServeiceMethod:写在 WebService 中的用于提取数据的方法的名字; 4.MinimumPrefixLength:用来设置用户输入多少字母才出现提示效果;pletionSetCount:设置提示数据的行数;pletionInterval:从服务器获取书的时间间隔,单位是毫秒.似乎去 100 很合适呵呵,在使用这个控件的时候,不适用控件之前就有自动提示功能,使用了之后反而没有了,而且添加控件之后会出现一个编译错误.需"Add AutoComplete page method"添加自动完成页的方法.如果采用这种方法,可以在该页的.cs 文件中创建如下代码:[System.Web.Services.WebMethodAttribute(),System.Web.Script.Services.ScriptMet hodAttribute()]//由于要在客户端调用web服务器public static string[] GetCompletionList1(string prefixText, int count, string contextKey){ return default(string[]); }然后,我们就可以使用一个文件来存放要自动提示的字符串,编写代码访问并返回. 当然,一种更常用的方法是单独建立一个Web服务,在里面添加该方法.需在其前面添加[System.Web.Script.Services.ScriptService] 在网上摘录的一个该方法的完整代码如下: [System.Web.Script.Services.ScriptService] public class AutoComplete : System.Web.Services.WebService { public AutoComplete() { //Uncomment the following line if using designed components //InitializeComponent(); } private static string[] autoCompleteWordList = null; 在 [WebMethod]//这里就是提取自动提示字符串的方法, ServeiceMethod中调用public string[] GetCompleteList(string prefixText, int count) { if (autoCompleteWordList == null) { string[] temp = File.ReadAllLines(Server.MapPath("~/App_data/CompleteList.txt"));Array.Sort(temp,new CaseInsensitiveComparer()); autoCompleteWordList = temp; } int index = Array.BinarySearch(autoCompleteWordList,prefixText,new CaseInsensitiveComparer()); if (index < 0) { index = ~index; } int matchingCount; for (matchingCount = 0; matchingCount < count && index + matchingCount < autoCompleteWordList.Length; matchingCount++) { if (!autoCompleteWordList[index + matchingCount].StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase)) { break; }} string[] returnValue = new string[matchingCount]; if (matchingCount > 0) { Array.Copy(autoCompleteWordList,index,returnValue,0,matchingCount); } return returnValue; }2.FilteredTextBox 过滤控件功能:过滤文本框中指定的内容,用于防止用户输入不合法的字符.属性:1. TargetControlID:被控制文本的 ID2. FilterType:过滤类型,提供 4 中类型.可以使用", "间隔设置多种类型3. ValidChars: FilterType 的属性包含当 "Custom" 时, 此属性有效, 表示有效的字符.3.MaskedEdit 编辑验证控件MaskedEditValidator MaskedEditExtender功能:用来设置文本框显示时的一些格式.属性:1. Mask:类似正则表达式2. MessageValidatorTip:是否提示验证信息3. OnFocusCssClass:当被验证的控件获取焦点时,应用的样式4. OnInvalidCssClass:当被验证的控件验证失败时,应用的样式5. MaskType:验证类型,提供四种:None,Number,Date 和Time6. InputDirection:文本输入方向7. AcceptNegative:是否接受负数的符号"-"8. DisplayMoney:显示金额符号的位置9. PromptCharacter:未输入完时的提示字符. 一般包含两个控件同时使用!另一个参考验证控件.4. PasswordStrength 密码强度提示控件功能:在用户输入密码的时候,密码在文本框后面会有一个提示,说明用户输入密码的强度.属性:DisplayPosition:提示信息显示的位置StrengthIndicatorType:强度提示方式,文本和进度条PreferredPasswordLength:最合适的密码长度PrefixText:提示信息的前缀TextCssClass:提示信息的样式MinimumNumbericCharacters:密码中最少要包含的数字个数MinimumSymbolCharacters:密码中最少要包含的特殊字符个数RequiresUpperAndLowerCaseCharacters:是否要求大小写混合TextStrengthDescriptions:密码强度的提示信息内容,最少 2 个,最多 10 个,排列顺序由弱到强CalculationWeightings:4 种类型的衡量标准BarBorderCssClass:提示进度条样式HelpStatusLabelID:帮助信息 IDHelpHandPosition:帮助信息的位置5. TextBoxWatermark 文本水印控件功能:当文本中没有数据时,可以使用非常特殊的样式填充在文本框中,当用户开始输入内容时, 这些特色样式自然消失. 当用户没有输入内容, 文本框失去焦点后, 又出现该样式.属性:WatermarkText:水印效果提示的文本WatermarkCssClass:水印效果应用的样式6. ValidatorCallout 验证提醒控件功能:验证未通过时,弹出一个类似模式对话框的小窗口,提醒用户发生的错误. 更加醒目的验证方式!属性:Width:弹出式信息的宽度WarmingIconImageUrl:弹出信息中的经过图片地址CloseImageUrl:弹出信息中使用的关闭图片地址7. HoverMenu 菜单控件功能:使一些菜单该出现时才出现,当鼠标移动到指定地点时不会影响其他元素属性:PopupControlID:作为弹出式菜单的控件 IDHoverCssClass:鼠标滑过时的样式PopupPosition:弹出式菜单坐在的位置OffsetX:菜单举例目标控件的位置--横坐标OffsetY:纵坐标PopDelay:弹出菜单的延迟时间实例: 实例:HoverMenu 控件可实现简单的弹出菜单效果参考网站:/zh-cn/dd553520.aspx用 Repeater 控件从数据库中取出数据,在 ItemTemplate 模板中使用 PopupControl 控件,PopupControlID 指向一个弹出式菜单面板,这个弹出式面板我由Panel 改为HyperLink. 这里出现一个小问题, 就是鼠标放在弹出式面板上, 弹出式面板会跳动, 不是呆在鼠标指定的那个地方.8. PopupControl 弹出式控件功能:弹出任意类型的控件,不管是服务器控件还是 Html 控件属性:弹出式菜单属性均相似,见上.9. Accordion(手风琴)折叠菜单目录功能:将一组功能相似,任务相同的内容放在不同的选项卡中,然后通过选项卡的 Header 实现各组内容的查看.我们可以逐一地编写 Accordion 中的 AccordionPane 控件, 每个 AccordionPane 控件即代表一个可折叠的面板. 还可以使用数据绑定的方式, 分别为其指定标题和内容区域的绑定模板以及数据源,让 中的数据绑定为我们自动生成其中的若干个折叠面板. Accordion 还能够把当前正处于展开状态的面板自动记录下来, 并在页面回送之后恢复其提交前的样式. 属性:SelectedIndex:在 Accordion 中设计的多个 Pane,此属性用来判断当前选择的是哪个PaneHeaderCssClass: AutoSize: 设计Accordion 中Pane 的显示方式, 主要有 3 种:None, Limit 和 Fill; None 可以无限制收缩,Limit 限制内容的高度,超出部分出现滚动条,Fill 表示和设置的高度一致,超出部分不会显示.FadeTransitions:是否使用透明样式的褪色特效TransitionDuration:特效时间间隔,单位为毫秒FramesPerSecond:帧/秒,折叠特效的速度Panes:是 Accordition 内容所在,其包装必须是"AccordionPane"控件,可以是多个Panes 和AccordionPane 表声明Accordion 控件时的常用属性标签属性标签名SelectedIndex HeaderCssClass ContentCssClass AutoSize 描述该控件初次加载时展开的 AccordionPane 面板的索引值该 Accordion 中包含的所有AccordionPane 面板的标题区域所应用的CSS Class 该Accordion 中包含的所有AccordionPane 面板的内容区域所应用的CSS Class 在展开具有不同高度的AccordionPane 面板时, Accordion 的该总高度的变化方式.可选如下 3 个值: r None:该 Accordion 将随着当前展开的 AccordionPane 面板的高度自由伸长/缩短 r Limit:该Accordion 将随着当前展开的 AccordionPane 面板的高度自由伸长/缩短,不过最高不会超过 Accordion 的Height 属性设定值.若是其内容高度超过了 Height 属性设定值,则将自动显示滚动条r Fill:该 Accordion 的高度将固定为 Height 属性的设定值, 不随当前展开的不同高度的AccordionPane 面板而变化.若是某个 AccordionPane 的内容高度超过了 Height 属性设定值, 则将自动显示滚动条 FadeTransitions TransitionDurati on FramesPerSecond DataSourceID<ContentTemplate > 若该属性值设置为 true,则在切换当前展开的 AccordionPane 面板时,将带有淡入淡出效果展开/折叠一个 AccordionPane 面板的过程所花费的时间,单位为毫秒播放展开/折叠 AccordionPane 面板动画的每秒钟帧数页面中某个 DataSource 控件的 ID,用于通过数据绑定自动生成 AccordionPane 面板该标签内将包含一系列的标签, 即 Accordion- Pane 的声明,用来表示 Accordion 中包含的面板在使用数据绑定功能自动生成 AccordionPane 面板时, 该标签内将定义每个面板的标题区域中的内容模板在使用数据绑定功能自动生成 AccordionPane 面板时, 该标签内将定义每个面板的正文区域中的内容模板需要注意的是 FadeTransitions 和 FramesPerSecond 属性.自然,将 FadeTransitions 设置为 true 将让面板展开/折叠的过程显得非常酷, 且将 FramesPerSecond 属性值设置得比较高也会让展开/折叠的动画变得更加平滑, 但这样也同时会加重客户端程序执行时的负担, 我们应该综合考虑各种情况合理地配置这两个属性. 一般来讲, 若是 Accordion 的大小适中, 且其中也没有太多的 AccordionPane 面板,那么可以将 FadeTransitions 设置为true(即显示淡入淡出效果),并将 FramesPerSecond 设置为 40(即每秒 40 帧)左右,让动画效果更加流畅眩目.而若是对于较大的,甚至全屏的 Accordion,或是其中包含了许多个复杂的AccordionPane 面板, 那么就应该将FadeTransitions 设置为false, 且将FramesPer Second 设置为 25 左右,尽可能地避免对客户端执行效率产生过多的影响. 与DataSourceID 属性相关的还有 DataSource 和 DataMember 属性,分别表示将绑定到该控件上的数据源(一般在代码中设置)和DataSource 中数据成员的名称. DataSourceID,DataSource 和 DataMember 属性是 中每一个支持模板化数据绑定的控件都包含的.DropDown 下拉菜单控件功能:为任意控件指定下拉菜单,这个下拉菜单必须存在.属性:略为按钮等控件执行下拉列表实现快速选择.10.CollapsiblePanel 折叠面板控件功能:折叠面板就是实现一个 Panel 的显示和隐藏,可以定义 Panel 的样式. 属性:CollapsedSize:折叠后的尺寸ExpandedSize:伸展后的尺寸 Collapsed:默认打开页面时,Panel 是否处于折叠状态ScrollContents:是否在 Panel 中显示滚动条ExpandDirection:伸展方向,水平或垂直CollapseControlID/ExpandControlID:该属性指定控制折叠/扩展的控件ID.d)TextLabelID:指定一个控件,可以在扩展或折叠Panel 时显示CollapsedText/ExpandedText 中的内容. CollapasedText/ExpandedText:Panel 折叠/扩展时的文本. Collapsed:指定页面导入时 Panel 是折叠还是扩展. ImageControlID:指定一个控件,在扩展时显示 ExpandedImage 中的图像;在折叠时显示 CollapsedImage 中的图像. ExpandedImage/CollapsedImage:在扩展/折叠时显示不同的图像. SuppressPostBack:禁止回传. 将 Panel 中的内容显示或隐藏. 使用两个 Panel, 一个 Panel 用于扩展控件的 ID, 另一个用于折叠控件的 ID.11.DragPanel 可拖曳面板控件功能:这是一个简单的 Ajax 控件,不支持拖拽前和拖拽后的事件操作属性:DragHandleID:实现拖拽的控件,即当拖拽DragHandleID 时,实际上移动的是TargetControlID这个控件最好配合样式表使用.12.Tabs 选项卡控件功能:在 C/S 中,有各种选项卡控件,B/S 中没有,要在一个页面显示多组内容, 可以通过 CSS 样式来显示和隐藏以达到选项卡的效果.属性:OnClientActiveTabChanged:单击选项卡标题时触发的事件ActiveTabIndex:默认显示的选项卡ScrollBars:是否显示滚动条这个控件非常棒哦!13.Animation 动画控件功能:显示小动画属性:OnLoad:页面加载时触发OnClick:单击控件时触发onMouseOver:鼠标滑过时触发OnMouseOut:鼠标移走时触发 OnHoverOver:与 OnMouseOver 类似OnHoverOut:与 OnMouseOut 类似"Fade Animation"的属性主要有 4 个: l duration:动画效果的时间间隔. l Fps:帧/秒的显示速度. l maximumOpacity:最大透明度. l minimumOpacity:最小透明度. 假如学习了 WPF 或者 Silverlight 的话,使用 Expression Blend 制作的时间帧动画,就很容易理解了.说明一下:似乎 AJAX 的这些控件,和 WPF 已经在接近了,但还是相差甚远哈,有这种趋势而已.14.DropShadow 阴影控件功能:实现阴影属性:Opacity:透明度,最大值为 1,不透明,默认值为 0.5Rounded:是否锐化目标控件边角TrackPosition:追随目标控件的位置,此属性一般应用在控件被拖动的时候15.RounderCorners 锐化边角控件功能:该控件同样其锐化作用,缺点是没有阴影效果,有点事可以锐化 4 个边角的任意一个或多个.属性:Radius:锐化幅度Corners:锐化的边角,All 表示所有边角16.ToggleButton 个性化按钮控件功能: 该控件只能应用于 CheckBox, 主要功能是以自定义图片的形式显示复选框的选中和未选中状态.属性:CheckedImageAlternateText:选中状态下的提示文本UnCheckedImageAltenateText:未选中状态下的提示文本UncheckedImageUrl:未选中状态下显示图片地址CheckedImageUrl:选中状态下显示的图片地址DisabledCheckedImageUrl:控件为不可用状态时,默认时要显示的图片17.UpdatePanelAnimation 局部刷新动画控件功能:该控件用来装饰 UpdatePanel 更新的效果,提供对 UpdatePanel 更新时和更新后的特效,并允许用户自定义这些特效.Animation 控件不仅仅是一个控件 ,它是一个可向控件添加动画的框架.属性:OnUpdating:更新时应用的特效OnUpdated:更新后应用的特效18.AlwaysVisibleControl 始终显示控件功能:创建一个始终显示的内容,通常用来显示菜单,消息和广告等.属性:VerticalSide:显示控件时垂直位置,上中下VerticalOffset:显示控件时与最上方的距离,相对坐标HorizontalSide:显示控件的水平位置:左中右HorizontalOffset:显示控件与最左侧的距离,相对坐标 ScrollEffectDuration:当滚动条滚动时,显示控件的显示延迟,默认时 0.1 秒ProfileBindings:要绑定的个性化配置的属性19.Calendar 日历控件功能:可以选择到文本框中的日历控件属性:Format:日历显示的日期格式PopupButtonID:当日期是通过选择某个按钮弹出的时候可以使用 PopupButtonID 指向一幅图片,放在文本框后面,点击图片就可以弹出日历控件选择日期.呵呵,由于是测试,放置了一幅大的图片.20.CascadingDropDown 级联下拉列表控件功能:级联菜单,当第一级可用时,第二级可用,第二级可用时,第三级不可用, 依次类推. Category:当前下拉框的类别PromptText:当下拉框无数据和未选中数据时,给用户提示. 在使用此控件的时候,由于涉及到数据库,故按提交按钮需验证,如果将EnableEventValidation="false",也就是不验证可以解决这个问题,但是这样就不安全了.这一点需要注意. Category需要同从数据库中取出数据类别相同,这里是Xml数据,也就是要对应节点,在此WEB服务中的Hierarchy即存储相应类别和节点.21.Confirm 确认按钮控件主要属性设置时ConfirmText,即显示弹出消息框的内容.22.DynamicPopulate 动态填充控件允许程序在运行的过程中,更改指定控件的内容,类似于"document.getElementById("ControlID").value="Selected Control""语句.这个控件是利用 createElement 和 appendChild 等 DOM 方法实现的.属性:BehaviorID:行为 ID,用于在客户端获取 Ajax 控件TargetControlID:需要动态填充的内容控件ClearContentsDuringUpdate:在更新时是否情况内容 ServicePath:获取数据需要使用的 Web 服务ServiceMethod:获取数据的方法UpdatingCssClass:更新过程中使用的样式ContextKey:上下文关键字,通过此关键字,判断返回的数据类型CustomScript:一段自定义的脚本,必须为能被格式化的字符串PopulateTriggerControlID:引发填充事件的控件23.ModalPopup 具有关机效果的弹出式控件该弹出式控件最大的特色就是具备"模式"窗口风格,在 B/S 应用中,使用这样风格的好处是,当用户选择这个设置时,其他内容都会受到保护.使用这种方法,处理弹出窗口中的事件是一件很繁琐的事情,由于不能直接在弹出控件中添加服务器端方法,因为添加了也没有反应,估计要想实现事件需在客户端使用Javascript 来完成.在 DynamicPopulateExtender.aspx 实例中可以看出.24.MutuallyExclusiveCheckBox 互斥复选框控件功能:复选框实现多个项目选择,但是项目之间可以含有互斥项.含有相同 Key 的为同一组,同一组之间是互斥的,但与不同 Key 之间的组,是可以同时选择的.属性:TargetID:被控制的复选框.Key:区分互斥复选框的键值.同时使用多个 BulletedList 控件也可以实现此功能!25.NoBot 反 Bot 控件功能:防止自动提交程序的运行.属性:OnGenerateChallengeAndResponse:自定义的相应事件,用于反 BOTResponseMinimumDelaySeconds:响应的最小延迟,单位为秒26.NumbericUpDown 加减数值控件功能:为一个文本框添加上下按钮,当单击这个按钮时,可以实现数字的加减,同时也可以提供静态数据,实现数据的上下选择.属性:Width:TextBox 显示时的宽度,默认为 0,不显示目标 TextBoxRefValues:进行上下操作的一些静态值TargetButtonDownID:进行"下"操作的按钮TargetButtonUpID:进行"上"操作的按钮在.cs 页面中直接使用 Page Method,不是在单独的 asmx 文件中使用: 注释掉会[System.Web.Services.WebMethod](自己添加) 或者[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()](自动生成)会弹出错误框.还需要注意方法中的参数的数据类型.27.PagingBulletedList 带项目符号的列表控件功能:显示一些列表项,主要的扩展对象是 BulletedList 控件.属性:ClientSort:是否在客户端进行排序IndexSize:标题索引的字符个数Separator:标题索引的间隔符将相同列表开始的 IndexSize 个字符作为标题,点击之后展开所有以此标题为首的列表项.在使用服务器端代码来改变 IndexSize 的值时,使用 TextBox 时需添加 AutoPostBack 属性,但是这样会出现频繁刷新的问题.如果使用 UpdatePanel 来实现呢,使用触发的时候,也会遇到根本不访问服务器端代码的问题.这种的方案是:使用一个 Button 控件在UpdatePanel 中触发,注意触发方式采用PostBackTrigger,不要采用异步触发AsyncPostBackTriger(注意,Button 控件本来就会导致会发,所以在 UpdatePanel 中也没有必要添加触发器的,说得更狠一点,就是不需要 UpdatePanel 也可以,我使用触发器,不过是为了熟悉它而已.呵呵,但是这样实现的就不是使用局部刷新了.. ).所以,最佳解决方案,还是在客户端用 Javascript 来实现.28.Rating 显示等级控件功能:显示等级信息,可以以图片的形式显示. 属性:CurrentRating - 所使用的初始评分 MaxRating - 最高评分 EmptyStarCssClass - 评分项("星号")为空时使用的 CSS 类 FilledStarCssClass - 评分项("星号")已填写时使用的 CSS 类 StarCssClass - 为一个 visible stat 使用的 CSS 类 WaitingStarCssClass - 将星级评分发送回服务器时使用的 CSS 类 AutoPostBack :当单击"评级"这个控件时,是否回送.默认不回送. OnChanged :在完成评级之后,触发"客户端回调"事件以便执行某一段程序代码.准备两种图像,一种用于显示填写过的评分项,另一种显示空白评分项29.ReorderList 可拖曳数据控件功能: ReorderList 控件用来显示数据, 其功能相当于GridView, DataList 和Repeater 等,都可以绑定数据,并支持各种模板.ReorderList 的优势在于,其允许用户自定义行的显示,即用户可以拖行到任意位置,同时还支持客户端的排序,这样可以减少回调,提高性能.ReorderList 控件时的常用属性标签属性标签名 DataSourceID DataKeyField 描述页面中某个 DataSource 控件的 ID, 用于通过数据绑定自动生成列表项目数据源中键字段的名称,该字段中的值应该在所在记录中是唯一且不变的,ReorderList 将用条目中该字段的值作为记录的标志,将在更新/删除中使用是否允许用户对列表中的项目进行重新排序,若指定了<ReorderTemplate>,则该属性将自动设置为 true 数据源中作为排序字段的名称.在用户进行重新排序之后,ReorderList 将自动修改需要更新的条目的该字段条目的可拖动区域与条目之间的相对位置关系,可选 Top(上部),Bottom(下部),Left(左边)和Right(右边) 若该属性值设置为 true,则当用户对列表中的项目进行重新排序之后,将自动引发一次整页的回送;否则将以异步回调的方式向服务器端发送请求列表中当前处于编辑模式下的项目的索引值若该属性值为 true,则列表中将显示出一个用来添加新条目的特殊行,即模板中定义的内容插入的新行在整个列表中的位置,可选 Beginning (第一项)或End(最后一项) 该标签内将定义列表中普通条目的模板该标签内将定义列表条目中可拖放区域的模板.用户只有在该区域中拖放才能够对该条目进行重排序该标签内将定义拖动列表条目时列表中可投放区域AllowReorderSortOrderFieldDragHandleAlignmen t PostBackOnReorderEditItemIndex ShowInsertItemItemInsertLocation <DragHandleTemplat e> <ReorderTemplate>的模板 <EditItemTemplate>该标签内将定义用来添加新条目的特殊行的模板该标签内将定义处于编辑状态中的列表条目的模板该标签内将定义空列表的模板.若列表中没有任何条目,则将显示该模板中定义的内容对于 PostBackOnReorder 属性,若该 ReorderList 控件将只提供对项目重新排序的功能,则应该将其设置为 false,这样可以充分利用 ReorderList 自带的异步回调功能.若是该ReorderList 控件同样支持对条目的添加,删除,编辑等复杂功能,则应该将PostBackOn- Reorder 属性设置为 true,并用 UpdatePane l 包围该 ReorderList,以期得到Ajax 的异步回送功能.使用这个真难拖动,真是太难了!这让我想起了 WebParts,可惜我原本打算在那上面花点功夫的,但是没有,真是遗憾.好不容易实现了拖动吧,费了好大劲都不能拖动一次, 只有当你自己做练习的时候才知道,估计这个以后不怎么使用.30.ResizableControl 可伸缩控件功能:该控件可以改变其他控件的高度和宽度.属性:HandleCssClass:在控件中支持改变的位置所使用的样式ResizableCssClass:改变控件大小时应用的样式MinmumWidth/MaxmumWidth/MaxmumHeight/MinmumHeight:允许控件伸缩的最小,最大宽度和高度OnClientResize:控件伸缩后,客户端触发的事件 HandleOffsetX/HandleOffsetY:在控件中支持改变的位置(X/Y 位置) ,一般是控件的右下角相对坐标这个控件实现的是伸缩,不是放大和缩小.也就是只能看见你整个图片的局部,你可以拖动使得像窗口那样改变窗口大小来查看内容,注意内容大小时没有改变的.31.Slider 滑块控件功能:该控件可以个性化地显示当前的数字值,用户还可以通过文本框,控制滑块的数据值.属性:TargetControlID:该控件的目标控件,即其要扩展的控件. BoundControlID:当改变值时,显示数据的控件. EnableHandleAnimation:当改变值时滑块是否有动画效果.值为 True, 则有 Animation 效果;值为 False,则没有 Animation 效果. RaiseChangeOnlyOnMouseUp: 设定是否只有在鼠标离开的时候才触发事件.值为 True,则是;否则,不是.总结:由于 AJAX(Asynchronous JavaScript and XML)技术是基于 JavaScript 和 XML,实现的是同客户端的交互让用户没有感觉(呵呵,自己这么理解的,其实有感觉)所以,一些代码虽然可以在服务器端处理,但是更好的方式是在客户端使用 JavaScript 来处理.至于 XML,我觉得可以不讲其单纯的理解为 XML 数据,而就是数据.从整理的 AJAX 控件就可以看出来,有好多个控件可以通过 Web Service 同服务器端通信,实现数据的交换. 还有一点需要注意的是:在同一页面使用过多的 AJAX 控件,会导致性能下降,迫使浏览器弹出对话框: 不论怎样,关于 AJAX 控件的使用,总算整理完了.虽然,有的很粗糙,而且更多的我都是从我的角度来理解整理的,很多都是从网上查找整理出来的,代码都是参照别人的代码,亲自实现了的.。
Ajax介绍及重要应用场景
Ajax介绍及重要应⽤场景向服务器发送请求的途径1、浏览器的地址栏:GET请求2、form表单:GET与POST均可3、a标签:GET请求4、Ajax:⽤的最多、最⼴5、其余的还有:link标签的href属性、img标签的src属性、script标签的src属性Ajax简介AJAX(Asynchronous Javascript And XML)翻译成中⽂就是“异步的Javascript和XML”。
即使⽤Javascript语⾔与服务器进⾏异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使⽤json数据)。
AJAX 不是新的编程语⾔,⽽是⼀种使⽤现有标准的新⽅法。
AJAX 最⼤的优点是在不重新加载整个页⾯的情况下,可以与服务器交换数据并更新部分⽹页内容。
(这⼀特点给⽤户的感受是在不知不觉中完成请求和响应过程)AJAX 不需要任何浏览器插件,但需要⽤户允许JavaScript在浏览器上执⾏。
a.同步交互:客户端发出⼀个请求后,需要等待服务器响应结束后,才能发出第⼆个请求; b.异步交互:客户端发出⼀个请求后,⽆需等待服务器响应结束,就可以发出第⼆个请求。
AJAX除了异步的特点外,还有⼀个就是:浏览器页⾯局部刷新;(这⼀特点给⽤户的感受是在不知不觉中完成请求和响应过程。
对于AJAX的操作,其实就是两点:⼀是向后台提交请求数据;⼆是回调函数接收到后台响应的数据后进⾏的处理。
简单事例利⽤ajax实现局部计算~urlpatterns = [...url(r'^ajax_add/', views.ajax_add),url(r'^ajax_demo1/', views.ajax_demo1),...]路由<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="x-ua-compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>AJAX局部刷新实例</title></head><body><input type="text" id="i1">+<input type="text" id="i2">=<input type="text" id="i3"><input type="button" value="AJAX提交" id="b1"><script src="/static/jquery-3.2.1.min.js"></script><script>$("#b1").on("click", function () {$.ajax({url:"/ajax_add/", //别忘了加双引号type:"GET",data:{"i1":$("#i1").val(),"i2":$("#i2").val()}, //object类型,键值形式的,可以不给键加引号success:function (data) {$("#i3").val(data);}})})</script></body></html>html⽂件def ajax_demo1(request):return render(request, "ajax_demo1.html")def ajax_add(request):#time.sleep(10) #不影响页⾯发送其他的请求i1 = int(request.GET.get("i1"))i2 = int(request.GET.get("i2"))ret = i1 + i2return JsonResponse(ret, safe=False)#return render(request,'index.html') #返回⼀个页⾯没有意义,就是⼀堆的字符串,拿到了这个页⾯,你怎么处理,你要做什么事情,根本就没有意义视图函数Ajax常见应⽤场景(1)搜索引擎根据⽤户输⼊的关键字,⾃动提⽰检索关键字。
jQuery在AJAX技术框架中页面加载的应用
务器和客服 端的一个过渡层 , 它使用户操作 与服 务器响应异步
化 , 网页从服 务器请求 的信息 量减少 , 使 从而到 达响应 速度加
快 的 目的 。
12 J u r 概 述 . q ey
sau .ie”lw”: ttshd ( o ) s
… … . .
此 处略 去 对 用 户输 入 的数 据 做 出判 断 的代 码 . 需 要 查 看 如
・
2 ・ 6
Co p tr Er o. 2 m u e a N 8 01 l
¥aa ( . x{ j
tp y e:” o t , p s”
i c mme t= ”) ・ f(o n = “( ) ¨
es { le
ul aa /o tC mme t s x . r jxp s o :” _ n. p ” a
2 网页评 论功 能加 载 页面速 度 实验及 结果
21 J 能 页 面 模 块 主 要 代 码 . 功
创建表单提交事件
¥’p s_ o ( o tc mme tfr ) u mifn t n { # n o m’s b tu ci 0 . ( o
_
v rsau ¥” p s o a tts ( o tc mme tsau ” # n tts) :
0 引 言
随着用 户对 It t ne 网络服 务器提 出更高的要求 , me 传统 we b
Jur 使 用 户能更 方便地 处理 H ML d cme t、vns实现 qe y T o u nse et,
动画效果 。Jur 最大 的优 点是它 的操 作文档很全 , qe y 各种应 用
变得 更加简 单 , 复杂 的工作变得 不再 复杂 。例如 , Ju r和 将 qe y
JSP Ajax Dojo框架实现进度条
JSP Ajax Dojo框架实现进度条在前面的章节中,我们也介绍了进度条的实现,但在其实现过程中,会发现需要编写大量代码,并且在运行时进度条缺少修饰,进度条的样式非常难看。
这时,我们可以利用Dojo框架提供的ProgressBar组件,直接创建进度条。
这个组件不但界面又有,而且具有强大的功能,并且只需要少量的代码。
在本节中,我们将使用Dojo框架提供的UI组件ProgressBar和Dojo框架的事件实现进度条的显示和控制。
打开记事本,输入下列代码:将上述代码保存,名称为test1.html,将该文件保存在和dojo-release-1.1.1文件夹同一个目录下。
打开IE浏览器,在地址栏中输入http://localhost:8080/DojoExamp le/test.html,单击【转到】,会显示如图10-12所示窗口:图10-12 进度条显示窗口在该文件中,前面的代码和上一个案例含义相同,这里就不再介绍了。
代码“d ojo.addOnLoad(go)”在页面加载时调用go函数。
addOnload()是dojo的一个方法,表示可以加载指定函数到window.load时执行,好处就是可以很方便的在window.lo代码“new dijit.ProgressBar”表示创建一个ProgressBar进度条对象,并在创建过程只能够设置了进度条的名称,大小等。
方法byId()是一个非常有用的一个方法,与prototype.js的著名的$一样,似乎以前的版本还有dojo.byIdArray,不过最新的版本已经找不到这个函数了(除了sr c\compat\0.2.2.js)。
该方法表示获取指定id的层的对象。
如果有多个元素具有指定的id,则返回的是一个集合。
使用该方法可以采用下列形式:将“set”按钮的onclick事件和方法setParameters联系起来。
当set按钮被单击时,就会触发并调用setParameters方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ajax框架:AJAX框架汇总疯狂代码 / ĵ:http://Ajax/Article43919.html1.Purejavascript: Application Frameworks1.1Bindows (成立于2003年)Backbase是个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来套完整Windows桌面式WEB应用解决方案Bindows无需下载安装客户端支撑组件(如Java、ActiveX或Flash)仅需个浏览器纯OO理念体现在Bindows任何地方Bindows或许是笔者见过最完整最强大javascript:void(0);">AJAX应用平台Bindows是商业使用了来自于MB技术(总部位于GA USA主要开发中心在瑞典成立于2002年)Bindows框架提供功能和特性有:基于面相对象技术类和API套完整Windows桌面系统支持各种特性窗口模式包括菜单、表单、表格、滑动条、测量仪器窗口和其他些Windows窗口特性支持是开发zero-footpr(零空间占用)SOA客户端应用首选工具包本机XMLSOAP和XML-RPC支持单用户到企业级开发支持内建完美javascript:void(0);">AJAX支持Bindows开发环境:支持企业级规模项目开发跨浏览器、跨OS平台支持不受服务器结构限制良好和新、现有资源互操作性统开发接口1.2BackBase (成立于2003年)BackBase是个完整浏览器端框架提供了丰富浏览器操作功能以及对.NET和JAVA平台集成商业化产品来自于Backbase B.V(总部在Amsterdam成立于2003年)1.3DOJO (开发中,成立于2004年9月)DOJO提供完整轻量级窗口组件和浏览器-服务器消息映射支持提供创建自定义Javascript窗口组件框架支持预制丰富窗口类型库B/S消息映射支持——XMLHttpRequest和其他机制支持浏览器中URL操纵功能开源许可(Academic Free License 2.1)由JotSpotAlex Russell所领导1.4Open Rico (开发中;成立于2005年5月;基于早期个proprietary 框架)Open Rico是个支持Ajax架构和用户交互多用途框架个XMLHttpRequest response能被个或多个DOM对象或者Javascript对象支持拖拽操作支持基于javascript:void(0);">AJAX动画模式如缩放和变换等基于Behaviors操作库使用指南由RussMirimarYonah提供开源源于Sabre航空公司解决方案由Bill ScottDarren James及另外些人维护1.5qooxdoo (开发中; 成立于2005年5月)qooxdoo是另个发展迅猛应用框架提供广泛UI支持正在开发基础架构等特性基础结构特性:能轻易捕获和操纵DOM事件支持调试支持个时间操作Timer类Getter/Setter支持UI:窗口组件库和框架界面布局管理图像缓存Cache和透明PNG图片处理开源(LGPL).1.6 Tibet (开发中; 创建于2005年6月)Tibet提供了大量易移植和完整JavaScript API通过这些可以快速生成大量客户端代码Tibet自称是企业级javascript:void(0);">AJAX远程脚本封装在XMLHttpRequest中URI支持支持所有HTTP事件不再仅仅是GET和POST低级协议-File://和WebDav也可以当作HTTP正常使用Web Services支持包括SOAP、XML-RPC等等大型Javascript对象库多种多样XML操作支持IDE和开发工具开源协议(OSI)1.7 AJFORM (创建于2005年6月)AJFORM是个极易上手javascript:void(0);">AJAX框架被用来编写入门级javascript:void(0);">AJAX代码提供有以下功能:3步安装自动支持任意HTML表单元素几乎无需编码即可实现javascript:void(0);">AJAX2 Purejavascript: Infrastructural Frameworks2.1 AjaxCaller(创建于2005年5月目前是Alpha版)AjaxCaller是个具有多线程安全访问XMLHttpRequest组件主要针对Ajax开发新手目前仍处于alpha开发阶段仅在AjaxPatterns在线搜索范例中使用了这个用明文或者XML结构数据实现和服务器交互(GET/POST/PUT/DELETE)支持XMLHttRequest对象构析(销毁对象C支持内存对象构析操作)支持Response高速缓存Cache(尚在计划中)简单库文件代码易于新手学习使用并且支持脚本调试开源协议2.2 Flash JavaScript Integration KitThe Flash JavaScript Integration Kit可以使Flash和Javascript脚本实现相互集成可以实现在JavaScript中Flash ActionScript脚本反的亦然几乎支持双方主要数据类型在区别环境中传递开源协议有几个Flash开源爱好者维护2.3 Google AJAXSLT (2005年6月发行)Google AJAXSLT是个Javascript框架用来执行XSLT转换以及XPath查询目前在Google Map上就使用了这个开源协议(BSD)2.4 HTMLHttpRequest(Beta版;创建于2005年)HtmlHttpRequest最大特点就是运用XMLHttpRequest对象和标准HTML标签IFrame来实现最大限度跨浏览跨平台javascript:void(0);">AJAX支持其原理是在支持XMLHttpRequest浏览器上XMLHttp如果不支持就用IFrame来模拟实现异步交互目前支持浏览器:IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac 尚未测试浏览器:IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux开源协议(LGPL)2.5 Interactive Website Framework (创建于2005年)Interactive Website Framework定位在浏览器中支持各种各样javascript:void(0);">AJAX基础应用开源项目自称是通过JavaScript、CSS、XML和HTML实现高性能交互式WEB框架包括个可定制易读XML解析器实际上IWF是个javascript:void(0);">AJAX基础框架并且还包括些通用脚本代码实现了线程安全XMLHttpRequest对XML Document进行封装以便创建更具有可读性代码:var node = doc.groceries.frozen[0].pizza[0].size;封装后数据读取var node = doc.documentElement.firstChild.firstChild.getAttribute("size");原始DOM操作读取开源协议2.6 LibXMLHttpRequest (2003年6月发布)libXmlRequest是个小型XMLHttpRequest封装包用getXML和postXML两个事件简化XMLHttpReuqest支持XMLHttpRequest对象池Response缓存Cache处理源码可以使用但是有版权保护2.7 MAJAXMAJAX是另个非常小巧HttpRequest封装包为收发型信息提供简单接口并为每步动作设置回调界面2.8 RSLite (x)RSLite是个XMLHttpRequest封装组件作为Brent AshleyJSRS(JavaScript Remote Scripting)其中部分功能单独发布详情可以看JSRS介绍2.9 Sack(开发中成立于2005年5月)Sack也是个很有名字微型XMLHttpRequest封装包者可以自定义回调或者是DOM对象借助于回调DOM对象可以把Response回来数据直接以文本方式嵌入DOM中2.10 Sarissa (发布于2003年2月)Sarissa是个JavaScript API封装了在浏览器端独立XML功能可移植XMLHttpRequest对象创造可移植XPath查询可移植DOM操控可移植XSLT可移植XML序列化开源协议(GPL2.0和LGPL2.1)2.11 XHConn (2005年4月发布)XHConn也是个小型XMLHttpRequest封装库笔者也使用改良过XHConn其特点就是简单代码也清晰易读例子:XHConn.connect("mypage.php""POST""foo=bar&baz=qux"fnWhenDone);开源协议许可3 Server-Side: Multi-Language3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)CPAINT是个真正同时支持PHP和ASP/VBScript脚本javascript:void(0);">AJAX和JSRS工具包CPAINT在后台提供你需求javascript:void(0);">AJAX和JSRS代码并自动返回到浏览器端相应Javascript脚本代码这种方式易于实时反馈需求WEB应用支持PHP和ASP所有功能都在统JavaScript文件中支持远程脚本和XML支持本地和远程可以创建单个或多个XMLHttp对象返回给后台数据即可以是文本也可以是XML/DOM文档对象支持POST和GET用服务端代理方式实现远程和数据访问操作大部分浏览器中测试正常使用在GNU、GPL、LGPL开源协议保护下发行3.2 SAJAX (2005年3月)SAJAX实现方式很独特例如:个javascript思路方法x_calculateBudget将先把响应传到服务器并个Java calculateBudget思路方法然后以javascript方式把值返回到x_calculateBudget_cb中SAJAX名气不错估计很多人都听过甚至用过不过缺点就是它这套映射理论感觉较繁锁远不如些轻量级封装库好用不过SAJAX最大特点就是支持平台丰富几乎囊括了WEB下常用编程语言和平台很方便从JavaScript映射到服务端代理操作支持多种平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)开源协议3.3 Javascipt Object Notation (JSON) and JSON-RPCJSON是个"face-free"XML而JSON-RPC是种远程交互协议类似于XML-RPC对JavaScript支持较强支持多服务端平台: Java, Python, Ruby, Perl.针对区别平台有区别包和许可协议, 如JSON-RPC-Java.3.4 JavaScript Remote Scripting(JSRS)(2000年)JSRS较经典远程脚本访问组件支持将客户端数据通过服务器做代理进行远程数据/操作交互支持浏览器:IE4+NS4.xNS6.xMozillaOpera7和Galeon服务器端脚本语言支持:ASPColdFusionPerlCGIPHP,Python和JSP(servlet)开源协议由Brent Ashley提供支持3.5 Bitkraft Bitkraft是个基于(.NET)Web框架CLR(公共语言运行库)允许用独特方式创建和操作分布式Web内容用C#编写运行在微软.NET 1.1和Mono框架下无缝式客户端-服务器响应方式是它最大特点Bitkraft没有使用XML组织数据而是用JSON代替支持浏览器: IE5+, Firefox1+, NS6服务器端要求:, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+事件驱动支持同步和异步远程代理客户端支持所有.NET类型或自定义类对象映射到JSON中用JSON取代XML免费开源许可协议4 Server-Side: Java4.1 WebORB for Java (2005年8月)WebORB for Java是个开发javascript:void(0);">AJAX和基于Flash富客户端应用开发平台在线例子WebORB包括个富客户端开发类库提供简单在线式API用来绑定或者任何Java对象、XML Web Services和EJB 支持异步或同步事件驱动不需要在服务端修改任何代码不需要自定义思路方法或属性、变量等不要求设计时指定代理等同步不需要回调异步需要个回调思路方法客户端可以向服务端请求指定活动方式不需要任何编程就可以把处理结果轻易转变为状态提供个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable而客户端以个类似于RecordSetJavaScript对象来显示这个结果该对象提供检索列名和行数据思路方法支持数据分页技术客户应用能检索页面中数据支持以参数方式返回所有服务期端数据类型如primitives, s, complex types, .gif' />s, native .net collections, remote references目前有两个版本:标准版(免费)专业版(商业许可)4.2 Echo 2 (2005年3月)Echo 2允许你用纯Java语言编写javascript:void(0);">AJAXDemo.自动生成HTML和Javascript代码用XML在客户端-服务端传递消息如果愿意支持自定义Javascript组件开源协议(Mozilla Public License or GNU LGPL)4.3 Direct Web Remoting (DWR) (2005)Direct Web Remoting可以在Javascript代码中直接Java思路方法应用框架类似于SAJAX可以把Javascript中请求转递到Java思路方法中并将执行结果返回给Javascript可以和任何Web框架起使用如Struts、Tapestry等等开源(Apache)目前该产品被加入到WebWork中4.4 SWATO (2005)SWATO是套可重用和良好集成Java/JavaScript库它实现了种更容易方式来改变你web应用交互通过javascript:void(0);">AJAX方式实现服务端Java库可以非常容易部署到所有Servlet2.3+兼容容器中客户端Javascript库可以在所有支持XMLHttpRequest浏览器中使用使用JSON技术在服务端组织POJO数据这样你可以在任何Javascript环境中(HTML、XUL、SVG)访问这些远程数据这种方式很容易通过硬编码或者某种成熟Javascript库集成到当前应用中提供个简单接口使你能在Javascript中远程POJO数据使用<servlet>和<filter>灵活在web.xml中进行配置并且可以集成(不是必须)到你Spring框架中提供了几个可帮助你快速开发web应用组件(如自动完成文本框在线表单在线列表等等)4.5AJAX JSPTagLibraryTheAJAX JSPLibrary是组JSP标签库用来javascript:void(0);">AJAX开发可以在J2EE下无需Javascript就能轻松开发javascript:void(0);">AJAX模式Web Form标签库为比较通用javascript:void(0);">AJAX功能提供了5个标签:TagLibraryautocomplete: 用户在文本框中输入自动从指定数据中匹配用户输入类似于Google Suggestcallout:可以为A标签加入气泡式消息提示框不过是实时服务端取出数据Select/dropdown:类似于联动菜单比如地州市联动下拉框toggle:开关闸按钮比如在个hidden表单域中存储true和falsh同时显示相应img图像update field:更新数据也就是无刷新提交了4.6AJAX Java Server Faces FrameworkTheAJAX-JSF用来把任意JSF应用转变为javascript:void(0);">AJAX应用例子:javascript:void(0);">AJAX组件 MyFaces JSF Tree(树型目录), table scroller(可滚动表格), tabbedpane(分页栏)开源协议(Apache Software License)5 Server-Side: Lisp5.1 CL-AjaxCL-Ajax实现Javascript直接服务端Lisp生成可带参数可以回调Javascript或者DOM对象可以集成到SAJAX中开源许可6 Server-Side: .NET6.1 WebORB for .NET (2005年8月)WebORB for .NET是个用.NET和XML Web Services方式开发javascript:void(0);">AJAX和基于Flash富客户端应用(在线例子)WebORB包括个富客户端开发类库提供简单在线式API用来绑定或者任何.NET对象、XML Web Services支持异步或同步事件驱动不需要在服务端修改任何代码不需要自定义思路方法或属性、变量等不要求设计时指定代理等同步不需要回调异步需要个回调思路方法客户端可以向服务端请求指定活动方式不需要任何编程就可以把处理结果轻易转变为状态提供个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable而客户端以个类似于RecordSetJavaScript对象来显示这个结果该对象提供检索列名和行数据思路方法支持数据分页技术客户应用能检索页面中数据支持以参数方式返回所有服务期端数据类型如primitives, s, complex types, .gif' />s, native .net collections, remote references目前有两个版本:标准版(免费)专业版(商业许可) (2005年3月).NET是首家支持各种方式通过Javascript访问服务端.net免费库类似于SAJAX能把Javascript请求发送到.NET思路方法服务端回传给Javascript甚至包括串行化自定义类可以在Javascript中访问Session和Application数据缓存Cache查询结果免费使用源代码无需更改源代码允许给添加和修改思路方法和属性所有类支持Javascript客户端返回数据可以在JavaScript中使用DataSet:res.Tables[0].Rows使用HtmlControls组件访问和返回数据页面无需重载用事件代理(数据访问层)只提供个接口思路方法所以服务端CPU占用非常少6.3 (2005年8月)可以让开发者在纯.NET下开发类似javascript:void(0);">AJAX(DHTML,JavaScript,XMLHttp)特性应用快速应答减少HTML传输减少页面重载无闪烁浏览器内容更改javascript:void(0);">AJAX用户体验6.4 AjaxAspects (2005年8月)AjaxAspects是个可以用Javascript服务端WebService事件引擎用标准SOAP和WSDL进行服务端-客户端通信用简单类型和XML对象支持带参数返回值缓存Cache支持动作队列免费使用开源协议7 Server-Side: PHP7.1 AjaxAC (2005年4月)AjaxAC用个单独类封装了完整应用功能所有功能集成在自包含类中(另外附带些Javascript库)PHP文件或者HTML页面非常简易只需创建App类后把类引用传递给需要Javascript对象或者HTML元素即可 捕获Javascript事件可以自定义配置数据并且支持运行时参数更改无需再Javascript代码中夹杂凌乱Html代码所有事件都是被动态附加上由于以上两个优点所以支持良好模版引擎容易Hook到PHP类和MySql数据已返回给自己request能够容易用Javascript建立窗口模式应用7.2 JPSpanJPSPAN通过Javascript直接PHP中进行了严谨单元测试开源许可(PHP)7.3 XAJAXXAjax通过Javascript直接PHP中支持用JavascriptPHP脚本开源许可协议8 Server-Side: Ruby8.1 Ruby On RailsRuby On Rails是个支持javascript:void(0);">AJAX完整Web框架使用Ruby语言编写严格按照MVC结构开发当Ajax出现时候Rails还处于其发展早期因此Ajax可能逐渐成为Rails框架核心生成浏览器中大多数/全部Window应用组件和动画Javascript脚本支持服务器端队列支持开源许可From MoztwWiki本文章为 Mozilla Developer Center javascript:void(0);">AJAX:Getting Started ( 2008-12-21 20:33:29疯狂代码 /。