流行的AJAX框架对比:jQuery,Mootools,Dojo,Ext JS
来源:http://developer.51cto.com/art/200906/129502.htm
本文介绍了四种流行的AJAX框架,包括简洁的jQuery,面向对象的
Mootools,拥有强大支持的Dojo,以及组件化,RIA化的Ext JS。
AJAX
是web20
的基石,现在网上流行几种开源的
AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架?以下是一组摘抄的数据:
Ajaxian在2007年底对Ajax工具进行了调查,部分调查结果见下表(其中数字为调查者使用该工具的百分比,详细的请参见网页):http://ajaxian.com/archives/2007-ajax-tools-usage-survey-results
Prototype
jQuery
Ext
Script.aculo.us
Mootools
YUI
JSON
Dojo
Backbase
34.1%
29.3%
22.5%
22.3%
14.3%
13%
12.9%
11.8%
8.3%
其中Prototype使用率最高,很大程度上是因为它是最早成熟的框架,很多以前在项目中采用,所以现在一直在用
让我们来看看选择AJAX框架的基础:
你的项目需求(即你需要哪些特性,例如是否要求做出精美的界面、特效或其它功能)
是否支持A等级的浏览器(IE, Firefox等)?
文档的质量:是否完善(包含教程,API,代码示例等)
框架的可扩展性如何?为框架写插件容易吗?
你是否喜欢它的API的风格?
能大多程度上统一你的JavaScript代码的风格?
框架大小(太大的框架导致用户下载时间的延长)
框架是否强迫你改变写HTML的方式(Dojo就是这样)?
代码执行速度:性能如何?
代码是否为模块化(Mootools为高度模块化)?代码可重用性如何?
一、jQuery
主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。
优点
小,压缩后代码只有20多k(无压缩代码94k)。
Selector和DOM操作的方便:jQuery的Selector与mootools的Element.Selectors.js比较,CSS
Selector, XPath Selector(1.2后已删除)
Chaining:总是返回一个jQuery对象,可以连续操作。
文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。
应用的广泛,包括google code也使用了jQuery。
使用jQuery的站点:http://docs.jquery.com/Sites_Using_jQuery
核心的开发团队和核心人员:John Resig等。
简洁和简短的语法,容易记。
可扩展性:有大量用户开发的插件可供使用(http://jquery.com/plugins/
)
jQue
相关文档:
以前提交表单的方法是submit,但是这样的话无法使用Ajax,一提交就意味着需要刷新页面。另一种方法是在url上面加上parameter来发送表单,但是这样会暴露发送的内容。但是如果用Ajax发送表单的话就能避免上面两种问题。
但是我之前自己写的时候,总是提交的是null值,运 ......
打开请求
有了要连接的 URL 后就可以配置请求了。可以用 XMLHttpRequest 对象的 open() 方法来完成。该方法有五个参数:
request-type:发送请求的类型。典型的值是 GET 或 POST,但也可以发送 HEAD 请求。
url:要连接的 URL。
asynch:如果希望使用异步连接则为 true,否则为 false。该参数是可选的,默认为 true。
......
把自己写的jquery写下来
比如现在有一个界面,分左右两侧,当点击左侧的标签,然后在右侧框显示,实现无刷新技术,这是最简单的ajax应用
function touser() {
$.ajax({
url: "UserTable.aspx?timeStamp=" + new Date().getTime(),
success: function(msg) {
$("#ma ......
一个MyEclipse里的AJAX例子2008-03-19 19:53本例将在页面的参数以Get和POST两种方式传递到服务器,并回显到页面; 本例共包括两个主要文件getAndPostExample.html和GetAndPostExample.java以及一个配置文件web.xml 建立文件的步骤: 1.在Eclipse新建一个web project-->ajax1 2.在ajax1里面新建一个getAndPostExample.htm ......
闭包概念:闭包就是能够读取其他函数内部变量的函数。
由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,
因此可以把闭包简单理解成“定义在一个函数内部的函数”。
function f1(){
n=999;
function f2(){
alert(n);
}
return f2;
}
......