如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
一、Ajax简介AJAX即“AsynchronousJavaScriptandXML”(异步JavaScript和XML),AJAX并非缩写词,而是由JesseJamesGaiiett创造的名词,是指一种创建交互式HYPERLINK"http://baike.baidu.com/view/828.htm"\t"_blank"网页应用的网页开发技术。1.同步交互和异步交互的理解举个例子:普通B/S模式(同步)AJAX技术(异步)同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事同步是指:发送方发出数据后,等接收方发回响应以后才发下一数据包的通讯方式。异步:请求通过事件触发->服务器处理(这时浏览器仍然可以作其他事情)->处理完毕异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式2.Ajax:一种不用刷新整个页面便可与服务器通讯的办法二、Ajax的工作原理1.Ajax的核心是JavaScript对象XmlHttpRequest2.AJAX采用异步交互过程AJAX在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用Javascript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行3.XMLHttpRequest对象创建XMLHttpRequest对象(由于非标准所以实现方法不统一)(1)InternetExplorer把XMLHttpRequest实现为一个ActiveX对象(2)其他浏器(Firefox、Safari、Opera…)把它实现为一个本地JavaScript对象。(3)XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。实例:functiongetXhr(){varxhr;try{//firefox,opera浏览器xhr=newXMLHttpRequest();}catch(err){try{//IE浏览器5.0xhr=newActiveXObject("Microsoft.XMLHTTP");}catch(er){alert("您的浏览器版本太低了......");}}returnxhr;}4.XMLHttpRequest对象方法方法描述abort()停止当前请求getAllResponseHeaders()把http请求的所有响应首部作为键/值对返回getResponseHeader("headerLabel")返回指定首部的串值open(method,url,async)规定请求的类型、URL以及是否异步处理请求。method:请求的类型;GET或POSTurl:文件在服务器上的位置async:true(异步)或false(同步)send(content)向服务器发送请求setRequestHeader("label","value")把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()5.XMLHttpRequest对象属性属性描述onreadystatechange存储函数(或函数名),每当readyState属性改变时,就会调用该函数。readyState存有XMLHttpRequest的状态。从0到4发生变化。0:请求未初始化1:服务器连接已建立2:请求已接收3:请求处理中4:请求已完成,且响应已就绪status200:"OK"404:未找到页面responseText获得字符串形式的响应数据。responseXML获得XML形式的响应数据。7.发送请求方法与属性的介绍利用XMLHttpRequest实例与服务器进行通信包含以下3个关键部分onreadystatechange事件处理函数、open方法和send方法(1).onreadystatechange该事件处理函数由服务器触发,而不是用户在Ajax执行过程中,服务器会通知客户端当前的通信状态。这依靠更新XMLHttpRequest对象的readyState来实现,改变readyState属性是服务器对客户端连接操作的一种方式。每次readyState属性的改变都会触发r