|
加入收藏
|
设为首页
|
证书查询
|
首页
|
中心简介
学院简介
中心简介
教学环境
教学模式
课程优势
清华风采
社会形象
大事记
清华声明
|
形象展示
视频下载
|
专业介绍
预科课程
软件工程师
网络工程师
短期课程
职业素养训练
学术专家在线
|
在线学习
net培训
java培训
sql数据库培训
|
证书展示
清华大学证书
工信部证书
学历证书
|
讲师风范
网络专业讲师
软件专业讲师
教务老师
职业规划师
就业指导教师
|
就业指导
网络招聘会
签约流程
战略合作企业
就业心得
就业成果
就业保障体系
面试试题
就业兵法
|
学员社区
学习心得
拓展活动
学生会成员
软件下载
|
班主任群
班主任通知
班主任工作
班主任介绍
班主任心得
|
报名咨询
咨询问题解答
我要报名
清华贴吧
|
就业联盟
免费体验
当前位置:
首页
>>
在线学习
>>
java培训
Ajax应用详解
繁简对译:[
繁
简
] 字体设置:[
大
中
小
]
2008-10-14 阅读 次
第十六章
Ajax
应用详解
•
在本章的内容中,将要介绍
Ajax
技术,使用这种技术,可以构建出类似传统桌面应用程序的交互界面,可以丰富客户与服务器的交互方式。通过本章内容的学习,读者可以了解
Ajax
的基本知识,并且在本章中对
Ajax
处理客户请求的各个环节都进行了详细的分析,在具体的示例中展示了
Ajax
在各种情景下的具体应用,通过这些示例程序读者可以体会到
Ajax
的基本用法。
16.1
Ajax
技术简介
•
从本质上讲,
Ajax
并不是一种全新的技术,
Ajax
只是综合利用已经存在的各种技术,从而诞生了一种全新的应用,在本节内容中,将简单介绍这种技术的诞生过程和其他相关的基本知识。
16.1.1
Web
开发技术演变过程
•
Web
应用程序发展至今大体经历了三个阶段,第一个阶段使用的是简单的静态页面,第二个阶段使用的
ASP
、
JSP
、
PHP
等动态脚本语言,第三个阶段是
Web2.0
阶段,而
Ajax
就是
Web2.0
中的核心技术。(具体内容请参照书。)
16.1.2
什么是
Ajax
•
对于
Ajax
并没有确切的定义,而且随着
Ajax
被广泛应用,现在
Ajax
所包含的范围也更加广泛,所有的实现浏览器与服务器异步交互的技术都可以归入
Ajax
的范围,即无需刷新当前页面就可以实现与服务器的交互的技术,这种技术就是
Ajax
,而且
Ajax
也不像
Java
、
JSP
等是一种单独的技术,
Ajax
是一系列技术的集合,例如在在实现与服务器的异步通信的时候,需要用到
XML
、
JavaScript
、
XMLHttpRequest
等,使用这几种技术可以实现与服务器的异步通信,所以,
Ajax
就是这几种语言的综合体。
16.1.3
A
jax
的相关技术
•
在上面的内容中,介绍了
Ajax
是一系列技术的集合体,通过这些技术的综合运用从而实现
Ajax
的目标,实现客户端与服务器端的异步通信。(具体内容请参照书。)
16.2
Ajax
工作原理简单示例
•
在本节的内容中,将通过一个具体的例子来展示
Ajax
的工作原理,通过与传统请求响应方式的对比,展现
Ajax
中处理请求响应的不同方式。在这个示例程序中,所要完成的任务非常简单,仅仅需要输入一个姓名,然后提交这个表单,在服务器端处理这个请求,然后在页面显示处理的结果,在下面的示例程序中,将展示通过传统方式和
Ajax
方式处理这个请求响应的具体过程。
16.2.1
传统的请求响应方式
•
在传统的请求响应方式中,是通过表单向服务器提交用户信息,服务器端处理接收到的信息,并把处理结果返回给用户,在这个过程中需要刷新整个页面才能得到服务器返回的结果。(具体内容请参照书。)
16.2.2
使用
Ajax
的请求响应方式
•
在上面的示例程序中,展示了传统的请求响应处理方式,在本节中,将展示
Ajax
中处理请求响应的方式。在
Ajax
处理请求响应的方式中,不会整个页面进行刷新,对于用户的输入信息,并不依靠表单来提交,而是通过
XMLHttpRequest
对象传递给服务器。(具体内容请参照书。)
16.3
XMLHttpRequest
对象
•
XMLHttpRequest
对象在
Ajax
中占据着十分重要的地位,
Ajax
中的客户端就是通过
XMLHttpRequest
对象实现与服务器的通信,在本节内容中将详细介绍这个对象的基本知识。
16.3.1
XMLHttpRequest
对象简介
•
XMLHttpRequest
对象也不是一个新的技术,这个对象最早出现在微软的
IE
浏览器中,是以
ActiveX
组件的形式出现的,在当时并没有引起开发人员太大的注意,但是在
Google
推出
Google Map
和
Google Suggest
产品以后,
Ajax
技术以飞快的速度发展起来,而
XMLHttpRequest
对象又是
Ajax
的重要组成部分,所以
XMLHttpRequest
对象也开始重新受到重视。
16.3.2
创建
XMLHttpRequest
对象
•
在使用
XMLHttpRequest
对象发送请求、接收响应之前,需要创建这个对象,其中,在
IE
浏览器中,
XMLHttpRequest
对象是以
ActiveX
组件的形式提供的,其他浏览器中使用
JavaScript
本地方法来创建,所以在创建
XMLHttpRequest
对象的时候,需要对这个差别做对应的判断和处理,下面的代码就是创建
XMLHttpRequest
对象的通用代码。
16.3.3
XMLHttpRequest
常用方法和属性
•
在
XMLHttpRequest
对象创建以后,就可以在对这个对象进行各种不同的操作,从而完成和服务器的通信,接下来将介绍
XMLHttpRequest
对象常用的方法和属性。
open
(
string method,string url,boolean asynch,string name,string password
)和
send
(
content
)是
XMLHttpRequest
对象中最常用的方法。
16.4
客户端向服务器发送请求
•
在
Ajax
中,向服务器端发送请求使用的是
XMLHttpRequest
对象,在
XMLHttpRequest
对象成功创建以后,就可以通过这个对象与服务器进行通信,在本节接下来的内容中,将介绍客户端使用
XMLHttpRequest
对象向服务器发送请求的基本方法。
16.4.1
使用
XMLHttpRequest
对象发送请求
•
在向服务器发送请求之前,首先使用
XMLHttpRequest
对象的
open
(
string method,string url,boolean asynch,string name,string password
)方法建立对服务器的调用,然后才能向服务器发送请求信息。而且在这里还需要指明在请求状态发生改变的时候需要调用的时间处理方法。
16.4.2
常用发送请求内容的方法
•
在传统的
Web
应用中,是通过表单向服务器提交用户的输入信息,但是这种提交方式会刷新整个页面,在
Ajax
中要实现的就是与服务器端的异步通信,所以就不能使用表单向服务器发送请求信息,在
Ajax
中,可以使用下面几种方法来向服务器发送请求的内容。
16.5
服务器端处理用户请求
•
在
Ajax
中,服务器接收到用户的请求以后,可以根据请求的内容进行相应的操作,然后把操作以合适的格式返回给客户端,在本节内容中,将重点介绍在服务器端对客户请求的处理。在服务器端处理方式可以有很多种选择,可以选择
JSP
、
ASP
、
CGI
、
Servlet
中的任意一种作为相应客户端请求的服务程序,在本章内容中,将选择
Servlet
实现服务器端逻辑处理的功能。
16.5.1
在服务器端处理用户请求
•
由于客户端向服务器发送信息的时候,可以选择多种方式进行发送,所以在服务器端就需要根据客户端发送信息的方式,对接收到的信息进行分析,从而取出进一步操作所需要的信息。
16.5.2
返回
XML
格式的响应文档
•
在服务器端完成用户需要的逻辑处理以后,需要把处理的结果返回给用户,在这种情况下,一般是把处理的结果组织成
XML
的格式,然后把这个
XML
文档返回给客户端。
16.6
客户端处理服务器响应
•
在服务器端结束对用户请求的处理以后,会把处理的结果返回给用户,在客户端的需要对返回的内容进行处理,然后根据这些处理结果对页面的内容进行调整,到这一步为止,客户端与服务器端的异步通信就完成了。在本章接下来的内容中,将介绍客户端处理返回的响应内容的基本方法。
16.6.1
分析
XML
格式的文档
•
在一般情况下,服务器会用
XML
文档的格式返回逻辑处理的结果,在客户端可以通过
XMLHttpRequest
对象取得这个响应文档的内容。在
JavaScript
中,可以以
DOM
的方式分析这个
XML
格式的文档,这种分析方法和一般的
XML
文档的分析方法是完全相同的,在本书第八章
XML
基础知识中已经介绍过使用
JavaScript
解析
XML
文档的相关知识,在这里不再赘述。
16.6.2
使用
JavaScript
调整页面内容
•
在对
XML
文档解析结束以后,就可以根据解析的结果来调整页面的内容,从而把服务器的处理结果表现在页面上,通常情况下会使用
JavaScript
来完成这个任务,通过使用
innerText
或者
innerHTML
可以设置
HTML
页面元素内的显示内容,通过
DOM
操作,可以动态创建
HTML
元素,通过
CSS
可以控制页面
HTML
元素的显示风格,通过这些操作,可以把服务器返回的处理结果充分展现在页面上,从而最终完成客户端和服务器的异步通信、而且这种处理方式是不会对整个页面进行刷新的。
16.6.3
客户端处理服务器相应的示例代码
•
下面的示例代码片段中,展示了如何在客户端处理服务器的响应信息,具体代码片段如下所示。(具体内容请参照书。)
16.7
Ajax
典型示例
•
在上面的内容中,对
Ajax
的基本知识进行了简单的介绍,在本章接下来的内容中,将通过具体的示例程序展示
Ajax
的魅力,而且通过这些具体的示例,读者可以体会到
Ajax
的具体使用方法,从而可以在自己的
Web
应用中添加
Ajax
的处理方式。
16.7.1
异步身份验证
•
在传统的
Web
应用中,用户的身份验证是通过向服务器提供表单,服务器对表单中用户信息进行验证,然后再返回验证的结果,在这样的处理方式中,用户端必需等到服务器返回处理结果才能尽进行别的操作,而且在这个过程中,会刷新整个页面。这种处理方式不仅浪费了用户的时间,每次刷新页面也浪费了巨大的带宽。(具体内容请参照书。)
16.7.2
输入提示和自动完成
•
在使用
Google
搜索或者是
Baidu
搜索的时候,在输入搜索关键字的同时,会自动弹出匹配的其他关键字的提示,这种输入提示和自动完成的功能是在
Google
中首先推出的,然后就在各种
Web
应用中被广泛采用,在下面的示例程序中,就展示了这样一个功能的实现。下面就是输入提示和自动完成功能
JSP
页面的具体代码。(具体内容请参照书。)
16.7.3
联动动态列表
•
在
We
应用的开发中,经常会遇到联动动态列表的需求,有其是在查询条件的选择中,所有的下拉列表中的选项都是从数据库中动态取出的,当选择第一个下拉列表的时候,后面的下拉列表要以这个选择为条件从数据库中取出满足条件的内容,从而调整显示选项的内容。然而在传统的
Web
开发模式中,要实现这样的功能是相当的麻烦,每次调整下拉列表的时候,都需要重新刷新整个页面,而且在刷新页面的时候,需要做大量的工作来保存已经选择列表的状态。(具体内容请参照书。)
16.7.4
异步输入验证
•
在
Ajax
中,对用户的输入验证可以使用异步的形式,在用户每项输入完成之后,都对用户输入的合法行进行验证,即时向用户返回验证结果,使用户及时发现输入的错误,及时更改输入,而且这种验证不会刷新整个页面,用户的输入信息都会别保留,从而可以节省用户的时间,方便用户的使用。(具体内容请参照书。)
16.7.5
工具条提示
•
在桌面应用程序中,可以给程序添加工具条提示的功能,当鼠标移到指定位置的时候,会弹出一个提示框,提示这个区域的简单信息。(具体内容请参照书。)
16.7.6
自动刷新
•
使用
Ajax
也可以实现自动刷新的功能,而且是页面局部的刷新,这种刷新方式不会对页面的其他部分造成影响。(具体内容请参照书。)
16.7.7
使用
DOM
动态生成
HTML
文档
•
在很多时候,在浏览器段,需要根据服务器的返回结果,动态生成
HTML
文档,这种功能一般情况下都是采用
DOM
操作的方法来完成,在接下来的示例程序中,将展示使用
DOM
动态生成
HTML
文档的基本方法。(具体内容请参照书。)
16.8
小结
•
在本章的示例程序中,都是通过手工代码完成
Ajax
处理的各个过程,目的是为了让读者清楚了解
Ajax
的操作原理和流程,在实际的开发过程中,读者可以选择使用开源的
Ajax
框架来进行
Ajax
程序的开发,目前有很多成熟的
Ajax
框架可供选择,例如
DWR
、
Bindows
、
Rico
等,这些框架都是比较成熟的
Ajax
框架,读者可以在这些框架的官方网站浏览相关的效果展示。
上一篇:第十七章 Struts+Spring+Hibernate构建电子商务系统
下一篇:Ant如何使用
相关文章
卓望数码技术(深圳)有限公司
实用 XP网络操作技巧30招
高效程序员应该养成的七个习惯
清华IT午间沙龙第一期成功开幕
CSS 命名规范参考及书写注意事项
写好个人简历的几大思路
基于SSID限制接入客户端数量
求职面试中的禁忌种种
打印
收藏
关闭