二十五讲AJAX技术入门.ppt
《二十五讲AJAX技术入门.ppt》由会员分享,可在线阅读,更多相关《二十五讲AJAX技术入门.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1/36第二十五讲第二十五讲第二十五讲第二十五讲 AJAXAJAX技术技术技术技术佘向飞佘向飞、柯洪昌、柯洪昌长春工程学院软件学院长春工程学院软件学院AJAX(Asynchronous JavaScript and XML)其实是多种技术的综合,包括Javascript、XHTML 和CSS、DOM(文档对象模型)、XML 和XSTL、XMLHttpRequest。其中:使用XHTML 和CSS 标准化呈现,使用DOM 实现动态显示和交互,使用XML 和XSTL 进行数据交换与处理,使用XMLHttpRequest 对象进行异步数据读取,使用Javascript 绑定和处理所有数据。在AJAX
2、 提出之前,业界对于上述技术都只是单独的使用,没有综合使用,也是由于之前的技术需求所决定的。随着应用的广泛,AJAX 也成为香饽饽了。AJAX 定义定义23 Ajax的工作原理相当于在用户和服务器之间的工作原理相当于在用户和服务器之间加了一个中间层,称为加了一个中间层,称为Ajax引擎,该引擎使引擎,该引擎使用户操作与服务器响应异步化。在这种模式下,用户操作与服务器响应异步化。在这种模式下,用户请求不是全部都提交给服务器。部分请求,用户请求不是全部都提交给服务器。部分请求,如一些数据验证和简单的数据处理请求等就交如一些数据验证和简单的数据处理请求等就交给给Ajax引擎完成,只有那些确实需要由服
3、务引擎完成,只有那些确实需要由服务器来完成的请求,才由器来完成的请求,才由Ajax引擎代为向服务引擎代为向服务器提交。器提交。4 以下是SayHello.jsp页面代码:姓名:0)out.print(Hello“+request.getParameter(name);%实例:传统的请求响应方式实例:传统的请求响应方式5现状与需要解决的问题现状与需要解决的问题传统的传统的Web 应用采用同步交互过程,这种情应用采用同步交互过程,这种情况下,用户首先向况下,用户首先向HTTP 服务器触发一个行为服务器触发一个行为或请求的呼求。反过来,服务器执行某些任务,或请求的呼求。反过来,服务器执行某些任务,再
4、向发出请求的用户返回一个页面。这是一种再向发出请求的用户返回一个页面。这是一种不连贯的用户体验,服务器在处理请求的时候,不连贯的用户体验,服务器在处理请求的时候,用户多数时间处于等待的状态,屏幕内容也是用户多数时间处于等待的状态,屏幕内容也是一片空白。一片空白。6为什么使用为什么使用AJAX与传统的Web 应用不同,AJAX 采用异步交互过程。AJAX 在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理等待处理等待缺点。用户的浏览器在执行任务时即装载了AJAX 引擎。AJAX 引擎用JavaScript 语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互
5、。7为什么使用为什么使用AJAXAJAX 引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。现在,可以用Javascript 调用AJAX引擎来代替产生一个HTTP 的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX 来执行。8 1.减轻服务器的负担。AJAX 的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担。2.无刷新更新页面,减少用户心理和实际的等待时间带来更好的用户体验。3.可以把以前一些服务器负担的工作转加到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成
6、本。4.可以调用外部数据。5.基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。6.进一步促进页面呈现和数据的分离。使用使用AJAX好处好处9 /创建XMLHttpRequest对象 function createXMLHttpRequest()if(window.XMLHttpRequest)/Mozilla 浏览器 XMLHttpReq=new XMLHttpRequest();else /IE浏览器if(window.ActiveXObject)try XMLHttpReq=new ActiveXObject(Msxml2.XMLHTTP);catch(e)try XMLHttp
7、Req=new ActiveXObject(Microsoft.XMLHTTP);catch(e)实例:实例:Ajax请求方式请求方式10 /处理服务器响应结果 function handleResponse()/判断对象状态 if(XMLHttpReq.readyState=4)/信息已经成功返回,开始处理信息 if(XMLHttpReq.status=200)var out=;var res=XMLHttpReq.responseXML;var response=res.getElementsByTagName(response)0.firstChild.nodeValue;documen
8、t.getElementById(hello).innerHTML=response;实例:实例:Ajax请求方式请求方式11 /发送客户端的请求 function sendRequest(url)createXMLHttpRequest();XMLHttpReq.open(GET,url,true);/指定响应函数 XMLHttpReq.onreadystatechange=handleResponse;/发送请求 XMLHttpReq.send(null);实例:实例:Ajax请求方式请求方式12 /开始调用Ajax的功能 function sayHello()var name=docum
9、ent.getElementById(name).value;/发送请求 sendRequest(SayHello?name=+name);实例:实例:Ajax请求方式请求方式这是一个servlet13 页面代码:姓名:实例:实例:Ajax请求方式请求方式14 servlet的doGet()方法实现:response.setContentType(text/xml;charset=UTF-8);response.setHeader(Cache-Control,no-cache);PrintWriter out=response.getWriter();String output=;/处理接收到
10、的参数,生成响应的XML文档if(request.getParameter(name)!=null&request.getParameter(name).length()0)output=Hello+request.getParameter(name)+;out.println(output);out.close();实例:实例:Ajax请求方式请求方式15AJAX 应用到的技术应用到的技术1、XMLHttpRequest 对象对象XMLHttpRequest 是XMLHTTP 组件的对象,通过这个对象,AJAX 可以像桌面应用程序一样只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用
11、每次将数据处理的工作都交给服务器来做;这样既减轻了服务器负担又加快了响应速度、缩短了用户等待的时间。16XMLHttpRequest 对象的方法对象的方法方法 方法 abort()停止当前请求abort()停止当前请求getAllResponseHeaders()作为字符串返回完整的headerheadergetAllResponseHeaders()作为字符串返回完整的headerheaderopen(method,URL,asyncFlag,userName,password)设置未决的请求的目标send(content)发送请求setRequestHeader(label,value)设
12、置header 并和请求一起17属性 描述onreadystatechange状态改变的事件触发器readyState 对象状态(integer):readyState 对象状态(integer):0=未初始化1=读取中2=已读取3=交互中4=完成responseText服务器进程返回数据的文本版本responseXML 服务器进程返回数据的兼容服务器进程返回数据的兼容DOM 的的XML 文档对象文档对象status服务器返回的状态码服务器返回的状态码,如:如:404=文件末找到文件末找到、200=成功成功statusText服务器返回的状态文本信息服务器返回的状态文本信息18XMLHttpR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十五 AJAX 技术 入门
限制150内