Ajax技术文档(1)

ajax

一、使用Ajax的主要原因

1、通过适当的Ajax应用达到更好的用户体验;

2、把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。

二、引用

Ajax这个概念的最早提出者Jesse James Garrett认为:

Ajax是Asynchronous JavaScript and XML的缩写。Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用,它包括:

使用XHTML和CSS标准化呈现;

使用DOM实现动态显示和交互;

使用XML和XSLT进行数据交换与处理;

使用XMLHttpRequest进行异步数据读取;

最后用JavaScript绑定和处理所有数据;

Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

文档(1)-ajax文档">

图2-1

图2-2

三、概述

虽然Garrent列出了7条Ajax的构成技术,但个人认为,所谓的Ajax其核心只有JavaScript、XMLHTTPRequest和DOM,如果所用数据格式为XML的话,还可以再加上XML这一项(Ajax从服务器端返回的数据可以是XML格式,也可以是文本等其他格式)。

在旧的交互方式中,由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端,每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML页,而用户每次都要浪费时间和带宽去重新读取整个页面。

而使用Ajax后用户从感觉上几乎所有的操作都会很快响应没有页面重载(白屏)的等待。

1、XMLHTTPRequest

Ajax的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新更新页面),这一特点主要得益于XMLHTTP组件XMLHTTPRequest对象。这样就可以向再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。

最早应用XMLHTTP的是微软,IE(IE5以上)通过允许开发人员在Web页面内部使用XMLHTTP ActiveX组件扩展自身的功能,开发人员可以不用从当前的Web页面导航而直接传输数据到服务器上或者从服务器取数据。这个功能是很重要的,因为它帮助减少了无状态连接的痛苦,它还可以排除下载冗余HTML的需要,从而提高进程的速度。Mozilla(Mozilla1.0以上及NetScape7以上)做出的回应是创建它自己的继承XML代理类:XMLHttpRequest类。Konqueror (和Safari v1.2,同样也是基于KHTML的浏览器)也支持XMLHttpRequest对象,而Opera也将在其v7.6x+以后的版本中支持XMLHttpRequest对象。对于大多数情况,XMLHttpRequest对象和XMLHTTP组件很相似,方法和属性也类似,只是有一小部分属性不支持。

XMLHttpRequest的应用:

XMLHttpRequest对象在JS中的应用

var xmlhttp = new XMLHttpRequest();

微软的XMLHTTP组件在JS中的应用

var xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);

var xmlhttp = new ActiveXObject(Msxml2.XMLHTTP);

XMLHttpRequest 对象方法

/**

* Cross-browser XMLHttpRequest instantiation.

*/

if (typeof XMLHttpRequest == "undefined") {

XMLHttpRequest = function () {

var msxmls = ["MSXML3", "MSXML2", "Microsoft"]

for (var i=0; i < msxmls.length; i++) {

try {

return new ActiveXObject(msxmls[i]+".XMLHTTP")

} catch (e) { }

}

throw new Error("No XML component installed!")

}

}

function createXMLHttpRequest() {

try {

// Attempt to create it "the Mozilla way"

if (window.XMLHttpRequest) {

return new XMLHttpRequest();

}

// Guess not - now the IE way

if (window.ActiveXObject) {

return new ActiveXObject(getXMLPrefix() + ".XmlHttp");

}

}

catch (ex) {}

return false;

};

XMLHttpRequest 对象方法

方法 描述
abort() 停止当前请求
getAllResponseHeaders() 作为字符串返问完整的headers
getResponseHeader("headerLabel") 作为字符串返问单个的header标签
open("method","URL"[,asyncFlag[,"userName"[, "password"]]]) 设置未决的请求的目标 URL, 方法, 和其他参数
send(content) 发送请求
setRequestHeader("label", "value") 设置header并和请求一起发送

[1] [2]  下一页

时间: 2024-08-30 23:51:23

Ajax技术文档(1)的相关文章

Ajax技术文档

ajax 一.使用Ajax的主要原因 1.通过适当的Ajax应用达到更好的用户体验: 2.把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的. 二.引用 Ajax这个概念的最早提出者Jesse James Garrett认为: Ajax是Asynchronous JavaScript and XML的缩写.Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用

Ajax技术文档(3)

ajax 5.综合 Jesse James Garrett提到的Ajax引擎,实际上是一个比较复杂的JavaScript应用程序,用来处理用户请求,读写服务器和更改DOM内容.  JavaScript的Ajax引擎读取信息,并且互动地重写DOM,这使网页能无缝化重构,也就是在页面已经下载完毕后改变页面内容,这是我们一直在通过JavaScript和DOM在广泛使用的方法,但要使网页真正动态起来,不仅要内部的互动,还需要从外部获取数据,在以前,我们是让用户来输入数据并通过DOM来改变网页内容的,但现

写有价值的技术文档

背景 传统瀑布开发模式下非常重视文档,每个开发环节的衔接都通过文档实现.这种重视在CMMI达到了极致,软件开发的每一步从形式到内容都要求文档化,需要设计者花费大量的精力在文档的撰写和维护上.高度文档化需要投入巨大的成本,这种成本在相对固定,变化较少的问题域(如传统的制造.管理)可以从软件后期的维护收益上得到补偿,实践中也得到了较好的效果.但在变化较多的问题域(如互联网.创业企业),高度文档化会造成整个软件生产过程的反应迟滞,进而造成企业竞争力的下降.于是这些要求快速反应,快速迭代的行业逐步放弃了

中文技术文档的写作规范

很多人说,不知道怎么写文档,都是凭着感觉写. 网上也很少有资料,教你写文档.这已经影响了中文软件的发展. 英语世界里,文档非常受重视,许多公司和组织都有自己的文档规范,清楚地规定写作要求,比如微软.MailChimp.Apple.Yahoo.docker.Struts 等等(维基百科有一份完整的清单).中文的也有不少,但都不令人满意,要么太简单,要么不太适用. 我就动手,参考上面的规范,也结合自己的实践,总结了一份简单的<中文技术文档的写作规范>. 标题 文本 段落 数值 标点符号 章节结构

MDN Web 技术文档 - JavaScript Strict mode

MDN Web 技术文档 - JavaScript Strict mode 在 JavaScript 1.8.5 引入         ECMAScript 5的严格模式是Javascript中的一种限制性更强的变种方式.严格模式不是一个子集:它在语义上与正常代码有着特意的差异.不支持严格模式的浏览器与同支持严格模式的浏览器行为上也不一样, 所以不要在未经严格模式特性测试情况下使用严格模式.严格模式可以与非严格模式共存,所以脚本可以逐渐的选择性加入严格模式.         严格模式在语义上与正

技术文档归档

这个文章用于保存某些技术文档,便于事后参考. [1]. 基于表格存储的高性能监控数据存储计算方案

java技术文档如何写(项目完成后)

问题描述 如题,之前没写过,现在不知道如何下手,请问写作的重点应该突出什么方面,是程序的设计,还是程序的使用,细节方面如何处理,要细化到每一个变量,方法嘛.请教高人!!! 解决方案 解决方案二:你要先确定你要写什么文档吧?需求分析,概要设计,详细设计,测试报告,用户手册等等,每一个侧重点都不相同啊解决方案三:这些文档基本都有规范,找找你们公司以前写的文档参考下解决方案四:各个公司的规范可能不一样,如果公司没有这样的规范,就参考别人的写一下咯.解决方案五:我也没写过,扯草草.zoubalon(这个

ChinaUnix.net技术文档手册中心_常用工具

(CU网友csfrank热心提供)" href="http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/index.html" target=_blank>Apache2.2中文手册(2006-10-20重要更新版)(CU网友csfrank热心提供) 构建和安装 Linux 包(CU网友bobkey翻译并热心提供) GTK+ Reference Manual(英文版) 备份工具Amanda官方文档 备份工具Bac

C#技术文档

问题描述 跪求C#技术文档.要全一点的,最好像JAVA那样可以快速打开的. 解决方案 解决方案二:"C#技术文档"."快速打开"?没明白不是有现成的MSDN吗?解决方案三:借贵宝地同求,文档.解决方案四:要的是CHM文件的吧,微软现在不给做这种的了,因为有MSDN在,所以也没有爱好者去做chm了解决方案五:MSDN怎么打开啊?解决方案六:MSDN也不好用啊,毛都找不到.SqlConnection都找不到.解决方案七:开始->程序->MicrosoftDe