版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用AJAX改进和用户体验本章目标了解AJAX的应用场合理解AJAX的实现过程掌握AJAX的实现技巧了解XMLHttpRequest对象的作用理解XMLHttpRequest对象的属性和方法掌握XMLHttpRequest对象的应用WEB2.0互联网的前世今生互联网的发展经历了以下几个阶段:黑暗年代
静态网页时代
动态网页时代WEB2.0时代WEB2.0概述
WEB2.0有别于以往,主要体现在以下几个方面。用户贡献内容内容聚合——RSS更丰富的“用户体验”,新的交互方式为什么用AJAXAJAX技术使我们可以通过JavaScript发送请求到服务器,并获得返回结果。这就让我们可以在必要的时候只更新页面的一小部分,而不用整个页面都刷新,这称为“无刷新”技术。如图2-5所示,搜狐首页上的登录功能就使用了AJAX技术。输入登录信息单击“登录”按钮后,只是刷新登录区域的内容。首页上信息很多,这就避免了重复加载,浪费网络资源。这是无刷新技术的第一个优势。
再看土豆网的例子,在观看视频的时候,我们可以在页面上单击其他按钮执行操作,由于只是局部刷新,页面不会刷新,视频继续播放,不会受影响,如图2-6所示。这体现了无刷新技术的第二个优势:提供连续的用户体验,不因页面刷新而中断。什么是AJAXAiax是几个单词首字母的缩写:AsynchronousJavaScriptAndXml。AJAX并不是一种全新的技术,而是整合了几种现有的技术:JavaScript、XML和CSS。主要是JavaScript,我们通过JavaScript的XMLHttpRequest对象完成发送请求到服务器并获得返回结果的任务,然后使用JavaScript更新局部的网页。Asynchronous(异步)指的是JavaScript脚本发送请求后并不是一直等着服务器响应,而是发送请求后继续做别的事,请求响应的处理是异步完成的。XML一般用于请求数据和响应数据的封装,CSS用于美化页面样式。怎样使用AJAX我们用一个实际的案例解释AJAX的应用。在用户注册信息时,通常因为输入的用户名已被使用而一遍又一遍地重复注册,这便不是好的用户体验。如果当用户名输入框失去焦点时,就发送请求到服务器,判断用户是否存在。已经存在则弹出窗口提示:“用户名已经存在”。完成这个功能的过程中页面不刷新便可以解决这个难题了,如图2-9所示。传统Web应用解决方案传统的Web应用是同步交互的方式,这种同步交互方式的处理过程如下图所示:AJAX解决方案与传统的WEB应用不同,AJAX采用的是一种异步交互的处理方式,这种异步交互方式的处理过程如下图所示:AJAX相关技术AJAX应用程序所用到的基本技术包括:XHTML和CSS:基于标准的表示技术。JavaScript脚本:运行AJAX应用程序的核心代码,帮助改进与服务器应用程序的通信。文档对象模型DOM:通过JavaScript代码处理HTML结构和服务器返回的XML。XML和XSTL:进行浏览器和服务器两端的数据信息交换与处理。XMLHttpRequest:进行浏览器和服务两端的异步数据读取。XMLHttpRequest对象的方法和属性表2-1
XMLHttpRequest对象的一些典型方法发送请求首先,为得到XMLHttpRequest对象实例的一个引用,可以创建一个新的实例,这里,我们只需调用这个函数即可,即createXMLHttpRequest();接着,告诉XMLHttpRequest对象,哪个函数会处理XMLHttpRequest对象状态的改变,为此要把对象的onreadystatechange属性设置为指向JavaScript函数的指针,即xmlHttp.onreadystatechange=handleResponse;然后,指定请求的属性。XMLHttpRequest对象的open()方法会指定发出的请求。open()方法通常取3个参数:一个是指示所用的方法(通常是GET或POST)的串,一个是表示目标资源URL的串,一个是boolean值,指示请求是否是异步的。上述代码片段采用GET请求方式,即xmlHttp.open("GET",url,true);将请求发送给服务器最后,将请求发送给服务器。XMLHttpRequest对象的send()方法把请求发送给指定的目标资源。send()方法接受一个参数,通常是一个串或一个DOM对象。这个参数作为请求体的一部分发送到目标URL。当向send()方法提供参数时,要确保open()中指定的方法是POST。如果没有数据作为请求体的一部分被发送,则使用null响应数据服务器不一定都要按简单文本格式发送响应。当Content-Type响应首部正确地设置为text/xml(如果是简单文本,Content-Type响应首部则是text/plain),将响应作为XML数据发送完全是可以的(复杂的数据结构适合以XML格式发送)。此时可以使用XMLHttpRequest对象的responseXML属性来获取响应数据。信息搜索示例这一节,我们将综合运用本章所讲述的内容,来实现一个网页中常见的信息搜索功能。该实例模拟了音乐网站中常见的歌曲分类搜索,实现的效果如下图所示。在页面的选择列表框中列出所有的歌曲分类,当用户选择某一类别时,下方显示出所有该类别的歌曲信息。显示效果如图2-13所示:
总结
本章提供了几个例子,展示了应用AJAX技术改善用户体验的方法。相信这些例
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026护士单位面试题及答案大全
- 2026纪检干部面试题目及答案
- 2026秋新教科版科学六年级上册教学课件:第二单元 第2课 光是怎样传播的 有微课视频
- 芒果主要病虫害识别要点、芒果主要病虫害防控荐药剂及防控时期
- 人工智能在证券行业合规管理中的应用-第53篇
- 河北唐山市玉田县2025-2026学年第二学期质量调研高二数学试题(含答案)
- 2026年南方公司第十三批次社会招聘21人考试参考题库及答案详解
- 2026吉林四平市梨树县人力资源和社会保障局招聘社区就业服务专员36人考试备考题库及答案详解
- 2026陕西延安市志丹县事业单位本科及以上学历自主就业退役士兵定向招聘7人考试备考题库及答案详解
- 2026四川省宜宾市中级人民法院第二次招聘4人考试参考题库及答案详解
- 八年级语文-课外阅读提高训练(50篇含答案)
- 国有企业投融资风险管理
- 危废协议合同范本
- 2025年中铁集团招聘笔试参考题库含答案解析
- GB 17625.1-2022电磁兼容限值第1部分:谐波电流发射限值(设备每相输入电流≤16 A)
- 华南理工综评机测试题(一)
- 太阁立志传5完全秘笈
- 天然气公司加气站站长消防治安反恐工作日检表
- 音响功率放大器
- 广东省普通高中学生档案
- 详解全面加强和改进新时代学生心理健康工作专项行动计划(2023-2025年)PPT
评论
0/150
提交评论