首页>参考读物>计算机科学与技术>软件与程序设计

Ajax构建工具箱指南
作者 : Michael Morrison
译者 : 李松峰 程宝杰
丛书名 : Web开发系列丛书
出版日期 : 2007-02-18
ISBN : 7-111-22939-1
定价 : 36.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 235
开本 : 16开
原书名 : Ajax Construction Kit: Building Plug-and-Play Ajax Applications
原出版社: Prentice Hall
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

听说过大名鼎鼎的Ajax吗?知道怎样用它来提升网站的可用性、交互性、响应及时性,并使网站更成功吗?即使你从未写过一行脚本代码,本书也能马上让Ajax开始为你效力!只要掌握一些基本的要点、试验几个例子,然后运行Live CD就可以从中找出你需要的“即插即用”式代码。
  在本书讲解的应用程序中,不落俗套的新意和惊喜随处可见。而通过作者的悉心指导,你会逐步加深对每个应用程序示例的理解,学会如何自定义、扩展并重用这些应用程序;甚至掌握自己重新开发新应用程序的技能。好了,让我们与专家同行吧!

  本书包含10个完整的应用程序,可以完成如下功能:

  ● 动态加载数据。
  ● 动态生成列表项目。
  ● 开掘RSS新闻源。
  ● 使用自动完成减少输入。
  ● 以实时验证来创建即时响应的GUI。
  ● 构建具有杀手级界面的图像查看器。
  ● 通过平滑的弹出式窗口表现信息或广告。
  ● 提供最近天气预报。
  ● 构建电子商务应用中的运费计算器。
  ● 为你的网站增加评级工具。

图书特色

图书前言

这本书的灵感来自于我和本书编辑的一次磋商,我们都不相信能将两个随机的技术主题融合到一本书当中。几次书信往来,最终使“Ajax”和“Live CD”这两个主题结合在一起了。本书就像是Rails上的Blu-ray或iPod设计模式一样容易。因此,很幸运你挑选出这本集Ajax和Live CD于一体的书。
  事实上,Ajax和Live CD是一对不可思议的好伙伴,因为Live CD为构建并测试Ajax应用程序提供了理想的环境。所谓“Live CD”就是位于一张CD上的完整的操作系统。与一个完整的操作系统捆绑在一起的是其他有用的应用程序,例如能够支持Ajax应用程序运行的Web服务器。
  相对于单独以JavaScript开发的纯客户端应用程序来说,Ajax应用程序的唯一特别之处是它对服务器也有所要求。换句话说,Ajax的大前提是客户端与服务器之间的通信。这意味着你不仅需要一个服务器,而且还需要对服务器进行某种控制。最低限度,你也需要快速安装并测试(为你的Ajax应用程序提供服务器端处理的)服务器端脚本的能力。在为你提供难以置信的可定制平台,并构建、测试和运行Ajax应用程序等方面,Live CD是最佳选择。
  鉴于Live CD如此优秀,我必须诚实地告诉你本书95%的内容都与Ajax相关。由于Ajax应用程序比纯粹的客户端应用程序对环境的要求更多,所以本书的Live CD主要是为此提供便利。
  既然本书主要是关于Ajax的,那它的真正含义是什么呢?它真正的含义是,在相对较少的页数中,让你学习到如何通过Ajax实现:
  ·在基于Web的电子书阅读器中动态加载章节内容(第3章)。
  ·选择并查看实时股票报价(第4章)。
  ·将网页变成理解RSS新闻源的新闻聚合器(第5章)。
  ·为你的网站添加自动完成功能(第6章)。
  ·验证表单数据并实时查询位置数据(第7章)。
  ·创建“Web 2.0”式的图像查看器,实现你的页面处理图像方式的现代化(第8章)。
  ·使用信息弹出窗口动态显示小块内容(第9章)。
  ·为任何链接添加实时天气状况弹出窗口(第10章)。
  ·通过U.S. Postal Service Ajax请求动态计算运费(第11章)。
  ·在你的网页中加入动态的五星评级系统(第12章)。
  这些都是因Ajax才成为可能的动态应用程序。更重要的是,本书使用构建工具箱的方法来引导你将这些功能添加到Ajax应用程序中。虽然通过本书介绍的许多示例,你最终会学习到许多有关Ajax的知识,但本书的焦点却不是教给你Ajax,而是向你展示如何通过Ajax实现一些很酷的功能。为此,本书有时候可能需要你学习一些全新的东西,而有时候则只是要求你简单地剪切和粘贴代码。关键在于本书只讲如何做事。
  在我看来,做事就是学习,通过跟着本书一起做事,最终你将获得对Ajax的更全面地理解。但更重要的是,在学习完本书以后,你将拥有自己构建的Ajax程序集合,你可以把它带在身边并应用到你的项目中。
  本书读者对象
  本书在介绍各种Ajax示例时,必须要基于常规原则深入到JavaScript和PHP中。但是,本书的初衷则是使任何具有HTML和CSS(Cascading Style Sheets,层叠样式表)经验的人都感到容易阅读,而不是要求读者必须具有脚本编程的背景,无论是客户端(JavaScript)还是服务器端(PHP)。虽然我并不能完全确定这是一个现实的目标,但它却是我在充分展示Ajax示例的过程中努力的方向,因此不会对脚本编程的新手造成太大影响。
  总的来说,要看懂这本书,你必须了解一些HTML的基本知识。CSS虽然不是很关键,但它也会偶尔出现,所以你也要对CSS略知一二。在此基础上,知道有关JavaScript的有关知识也将对你大有帮助,毕竟它是Ajax的基础。但是,我相信即使你的Web脚本编程知识有限,也一定能看懂本书中的JavaScript代码。而在全书中突然出现的PHP代码都非常简单,而且我会详细解释每段脚本的目的和作用,因此你不必知道任何PHP的知识,也能轻松过关。
  本书组织方式
  虽然本书遵循了Negus Live Linux Series系列图书“提供读者亲自实践之体验”的约定,但本书的组织方式略有不同。本书分为三部分:
  ·第一部分,“Ajax训练营”—本书在这一部分没有过分浪费时间,只是介绍了足够的基础知识,以便你能承受未来的Ajax示例应用程序的冲击力。你将探索几个商业上的真实Ajax应用程序,并初步了解在随书的CD-ROM中存放的Ajax工具箱。然后你将离开本书这一部分,迅速转入到Ajax实战当中。
  ·第二部分,“构建真实的Ajax应用程序”—这一部分完全聚焦于使用Ajax解决现实中的问题。从在数据登录表单中将邮政编码动态解析为城市(州)名,到将交互式五星级评级系统置入网页,本书这一部分内容安排紧凑并具有挑战性—别误会我的意思,这部分内容读起来也会津津有味。但可别指望其中包含不厌其烦的教程式讲解或者对Ajax历史渊源的探讨。一句话,这一部分就是专门针对干活儿的!
  ·第三部分,“附录”—本部分提供可能对你有帮助的附加信息。附录A勾勒出一幅有关Ajax来龙去脉的图画。虽然这些内容对你理解如何将Ajax驱动的功能添加到自己的网页中并不至关重要,但却给今天甚嚣尘上的Ajax加入了某些设想与展望。附录B实际是作为Ajax核心的一个JavaScript对象(XMLHttpRequest)的参考。由于有了Ajax工具箱,这个对象在全书内容中都被极大程度地隐藏了。但是,如果你想再稍微深入一下这些代码并对工具箱进行改造,则必须要了解XMLHttpRequest对象。最后,附录C是所有附录中无可争辩的最方便的内容,因为它全面翔实地解释了如何使用本书附带的Live Linux CD。假如你从没用过甚至听说过Live CD,那也不用担心,而且你也不需要是一个Linux专家或者使用Linux系统。附录C介绍了Live CD的功能,并指导你在自己特殊的硬件设置下顺利地使用它。
  本书光盘
  本书附带的光盘就是Live CD与Ajax结合的产物。这张光盘中包含自启动的Ubuntu(Linux的变体)操作系统,其中捆绑了Apache Web服务器以及本书涉及的全部Ajax示例应用程序。更有意思的是你可以在系统启动后,直接在这张光盘上运行所有应用程序,其强大之处体现在你可以省去配置并运行自己的Web服务器的麻烦。
  实际上,使用本Live Linux CD中的Ajax示例应用程序的方式有好多种。你不需要在自己的计算机中运行Linux操作系统—只要一台Pentium III(或更高的)计算机就足够了。本Live CD可以在Winodws、Mac OS X或其他Linux变体中运行。要了解如何使用本光盘探索示例应用程序的更多细节,请参考附录C。
  运行光盘的要求
  Live Linux CD可以在广泛的计算机硬件基础上运行,例如标准的PC架构(i386)、PowerPC(PPC)和64位AMD(AMD64)。运行本书附带光盘的最低推荐配置为Pentium III级别的PC,内存至少128MB。至于对硬盘的需求,你甚至都不需要使用计算机中的硬盘就能运行Live CD。但可能需要准备一个USB闪存盘(有时候也叫做笔式闪存、U盘或记忆棒)。因为Live CD典型是在只读媒体(光盘)上运行的,所以USB闪存盘对于需要写入数据的情况(比如在第12章中)是很方便的。同样,请参考附录C中如何使用Live CD的详细指南。

封底文字

听说过大名鼎鼎的Ajax吗?知道怎样用它来提升网站的可用性、交互性、响应及时性,并使网站更成功吗?即使你从未写过一行脚本代码,本书也能马上让Ajax开始为你效力!只要掌握一些基本的要点、试验几个例子,然后运行Live CD就可以从中找出你需要的“即插即用”式代码。 在本书讲解的应用程序中,不落俗套的新意和惊喜随处可见。而通过作者的悉心指导,你会逐步加深对每个应用程序示例的理解,学会如何自定义、扩展并重用这些应用程序;甚至掌握自己重新开发新应用程序的技能。好了,让我们与专家同行吧! 本书包含10个完整的应用程序,可以完成如下功能: ● 动态加载数据。 ● 动态生成列表项目。 ● 开掘RSS新闻源。 ● 使用自动完成减少输入。 ● 以实时验证来创建即时响应的GUI。 ● 构建具有杀手级界面的图像查看器。 ● 通过平滑的弹出式窗口表现信息或广告。 ● 提供最近天气预报。 ● 构建电子商务应用中的运费计算器。 ● 为你的网站增加评级工具。

作者简介

Michael Morrison:暂无简介

译者简介

李松峰 程宝杰:暂无简介

译者序

记得上小学时学过一篇课文,叫《小白兔和小灰兔》。说的是老山羊收白菜,小白兔和小灰兔一起去帮忙。为了感谢它们,老山羊要送给它们白菜。小灰兔收下了白菜,但小白兔则向老山羊要了一包菜籽。回家后,小白兔辛勤劳动丰收了自己的白菜,而小灰兔则吃光了老山羊送的白菜。来年,小灰兔只能又来向老山羊要白菜,而小白兔则给老山羊送来了白菜。这个故事似乎很浅显,但现实中的小白兔和小灰兔却比比皆是。同样的道理,我国古人也曾留下名言:“授人以鱼,三餐之需;授人以渔,终生之用”。鱼是可解眼前之饥的食物,而渔则是捕鱼的手段和技能。
  本书就是一本既授人以鱼,又授人以渔的书。书中送给读者朋友的“鱼”是10个具有代表性的Ajax应用程序;而“渔”则是分析、设计、实现Ajax应用程序的过程和方法。10个Ajax应用程序都是即时可用的,或者说是即插即用式的。读者不需要懂得太多的(X)HTML、JavaScript知识,就可以轻松地将这10个Ajax应用程序改造成自己所需的功能,从而为自己的网站或项目增加Ajax驱动的内容。至于“做鱼”的方法,其实很简单。读者只需在网页中适当地包含工具箱中提供的相关.js文件(有时也需要包含CSS文件和少量图像),然后在相应的标签中设置id或class属性或者按照需要添加相应的标签,再为相应元素添加响应用户动作的事件处理程序(虽然在元素标签中添加事件处理程序不是标准Web开发思想所推荐的最佳方法,但对于初级的应用而言也不是太大的问题。读者在熟悉了这种基本的事件响应机制之后,自然能够再过渡到更高级的方法),“鱼”基本上就“做”好了。剩下的就是享用Ajax大餐的美味了。
  如果读者觉得“鱼”确实好吃,想自己捕鱼,那书中同样也传授了“捕鱼”的实用方法。这主要体现在本书第二部分“构建真实的Ajax应用程序”中。第二部分的10章内容每一章都介绍了一种工具箱中的Ajax应用,而且每一章都采用了相同的体例模式。即
  ·挑战:介绍每个应用的背景和优缺点;分析实现该应用所需要的步骤和关键—需求分析。
  ·设计:在前面需求分析的基础上对应用程序进行设计。这一阶段又分为三个组成部分:客户端网页、服务器端脚本和理解客户端与服务器端对话。这三个部分的设计是所有Ajax应用程序的核心所在。这个阶段分析了客户端网页需要通过Ajax向服务器发送哪些信息(请求),而服务器又需要向客户端返回(响应)什么数据,最后进一步理解客户端与服务器端通信的整个过程模型。根据需要,这一阶段还可能会涉及通过服务器脚本访问第三方Web服务的内容—而这主要是为了绕开对客户端不能直接向第三方服务器发送请求的限制。当然,有的Ajax应用也可能不需要服务器端脚本(比如在向服务器请求文件或图像的情况下),而此时更多的是为了提供Web 2.0式的用户界面。
  ·实现:在设计阶段理解了客户端与服务器之间的通信过程之后,就可以着手实现Ajax应用的各个组成部分并处理它们之间的通信了。当然,这里并不用读者自己编码,书中只是帮助读者细致地分析已经编好的代码,以便读者明白应该如何自定义这些应用。在这个阶段,读者可以透彻地理解客户端怎样向服务器发送信息,而客户端脚本又如何处理服务器返回的数据,并最终将处理后的信息显示在网页中(或者更新原有的页面内容);可以理解如何准备服务器端的数据,服务器端脚本如何处理客户端的请求,如何向第三方Web服务器发送远程请求,如何对远程服务器响应的数据进行必要的处理(或不作任何处理),最后将数据返回给客户端。
  ·测试:在根据设计实现应用之后,就可以进行测试了。在这个阶段,书中又向读者介绍了一种非常重要而且实用的测试Ajax应用的方法,即不直接通过客户端页面来测试,而是使用请求URL直接访问PHP服务器端脚本,通过检查服务器脚本返回给浏览器的数据可以更容易发现问题所在。
  ·扩展:扩展部分书中叫做“某某的终极Ajax应用”。这一部分旨在让读者在现有应用程序的基础上,根据自己的需要进行改造,从而更好地满足自己的项目需求。这一部分为读者提供了更多的思路、更宽的视角,是对书中提供的10个Ajax应用程序的进一步升华。
  相信读者在依次学习了第二部分的几章内容之后,就能对Ajax应用程序的设计和实现产生一种豁然开朗的感觉。事实上,即使再复杂的技术,通过简单的重复也能搞清楚,更何况Ajax并不是很复杂的技术呢?本书第二部分各章的这种体例,从宏观上为读者勾画出一幅分析、设计、实现Ajax应用的路线图,有助于读者见微知著、举一反三。事实上,这种编排体例非常符合中国人的思维习惯,即大处着眼、小处着手。通过看似简单的重复,本书自然而然地把读者带入到了通向更高级程序设计的殿堂门口。
  最后,为了让读者方便地观摩各种“做好的鱼”的“色香味”,书中提供了一张独创性的Linux Live CD。说到Linux Live CD,可能会吓到一些读者。因为很多读者都知道计算机操作系统有Windows、Unix、Linux之分,但多数人则只有Windows系统的使用经验。其实不必怕,这张光盘的名称只是为了表明其中包含的操作系统以及实用程序都是免费开源的,不需要读者为它们的版权问题而担心。事实上,这张光盘是一张能够在Windows系统中正常运行的光盘。在Windows系统中,读者有两种选择:一是直接运行,即从光盘重新启动进入盘载Ubuntu(基于Linux的一种操作系统)中运行并改造本书实例;二是在Windows系统中安装相应的Web服务器软件(XAMPP)并复制实例代码,然后运行和改造实例。之所以说这张光盘具有独创性,是因为它开辟了一种交付随书应用程序示例的傻瓜模式,读者通过这张光盘,几乎不必进行任何设置,也不必上网下载任何代码,就能够在自己的电脑中迅速查看书中所有的应用程序实例,并且还能对实例进行实时的编辑和改造。
  这本书为读者提供了“鱼”,也提供了“渔”;或者说,提供了“白菜”,也提供了“菜籽”。那么读者是想做小灰兔还是小白兔呢?
  本书是我与机械工业出版社华章分社合作的第一本书。我翻译这本书的最大愿望,就是读者能够透过我翻译出来的文字,准确无误地理解原书作者的一番精心策划和安排,为自己在Web开发领域中登堂入室开一个好头。如果读者觉得我的翻译有什么问题,或者对本书内容有任何疑问,都可以直接和我联系,我的电子邮箱是lsf.email@yahoo.com.cn,个人网站是http://www.cn-cuckoo.com。读者朋友可以给我发邮件或者在网站上给我留言,我一定会尽量及时地回复大家。最后,我要感谢陈冀康编辑的信任和他认真负责的工作精神,这对我翻译好本书提供了切实的保证。
  本书由李松峰负责翻译,参加翻译工作的还有程宝杰、宋连海、付荣艳、封耀杰、贾爱华、左艳坡、熊俊芹、刘英、宋会敏等。

  李松峰
  2007年11月13日于北京

图书目录

译者序
致谢
关于作者
前言
第一部分 Ajax训练营
第1章  Ajax与新互联网时代 3
1.1  吃饭和Ajax 3
1.2  Ajax、Sting和一张专辑 5
1.3  重载,还是不重载 6
1.4  Ajax到底是什么 7
1.5  现实中的Ajax应用 8
1.6  Ajax不是万能的 11
1.7  深入理解运费计算程序 12
小结 14
第2章  深入Ajax应用程序 17
2.1  剖析Ajax 18
2.2  Ajax请求的生命周期 21
2.3  了解Ajax工具箱 23
2.4  分解电子书阅读器程序 27
2.5  自定义电子书阅读器程序 32
小结 33
第二部分  构建真实的Ajax应用程序
第3章  动态加载Web数据:XML电子书
阅读器 37
3.1  挑战:加载小块数据 38
3.2  设计:构思XML电子书阅读器 39
3.3  实现:组合电子阅读器 43
3.4  测试Booker应用程序 56
3.5  Booker的终极Ajax应用 58
小结 59
第4章  使用Ajax动态填充列表:股票
挑选程序 61
4.1  挑战:显示选择的股票信息 61
4.2  设计:构思股票挑选程序 63
4.3  实现:组合股票挑选程序 68
4.4  测试Picker应用程序 77
4.5  Picker的终极Ajax应用 79
小结 80
第5章  开掘RSS新闻源 81
5.1  挑战:动态查询新闻源 81
5.2  设计:构思News Feed应用程序 83
5.3  实现:组合News Feeder应用程序 89
5.4  测试News Feeder应用程序 97
5.5  News Feeder的终极Ajax应用 99
小结 100
第6章  通过自动完成读懂用户的想法 101
6.1  挑战:预测数据登录项 101
6.2  设计:构思自动完成的应用程序 104
6.3  实现:组合Completer应用程序 107
6.4  测试Completer应用程序 112
6.5  Completer的终极Ajax应用 113
小结 114
第7章  通过实时验证创建即时响应
的GUI 115
7.1  挑战:实时检测用户输入 115
7.2  设计:构思Validator应用程序 118
7.3  实现:组合Validator应用程序 121
7.4  测试Validator应用程序 127
7.5  Validator的终极Ajax应用 129
小结 131
第8章  查看图像的杀手级界面 133
8.1  挑战:动态加载图像 134
8.2  设计:构思动态图像查看器 135
8.3  实现:组合Imaginator应用程序 136
8.4  测试Imaginator应用程序 139
8.5  Imaginator的终极Ajax应用 141
小结 142
第9章 通过平滑的弹出窗口呈现信息 143
9.1  挑战:创建链接的弹出窗口 144
9.2  设计:构思信息弹出窗口应用程序 147
9.3  实现:组合Informer应用程序 159
9.4  测试Informer应用程序 154
9.5  Informer的终极Ajax应用 156
小结 156
第10章  通过Ajax预报天气 159
10.1  挑战:收集动态天气信息 159
10.2  设计:构思天气预报程序 160
10.3  实现:组合Forecaster应用程序 165
10.4  测试Forecaster应用程序 169
10.5  Forecaster的终极Ajax应用 171
小结 172
第11章  构建Ajax驱动的运费计算器 173
11.1  挑战:取得实时运费数据 173
11.2  设计:构思Shipper应用程序 174
11.3  理解客户端与服务器的对话 178
11.4  实现:组合Shipper应用程序 181
11.5  测试Shipper应用程序 189
11.6  Shipper的终极Ajax应用 192
小结 194
第12章  为你的网站添加Ajax驱动的
评级系统 195
12.1  挑战:为网站添加评级功能 196
12.2  设计:构思Rater应用程序 197
12.3  理解客户端与服务器端的对话 199
12.4  实现:组合Rater应用程序 202
12.5  测试Rater应用程序 208
12.6  Rater的终极Ajax应用 211
小结 214
第三部分  附录
附录A  Ajax的过去、现在和未来 217
附录B  XMLHttpRequest对象参考 221
附录C  Live Linux CD使用指南 229

教学资源推荐
作者: [美] 托尼·加迪斯(Tony Gaddis) 著
作者: [美]托尼·加迪斯(Tony Gaddis)著
作者: (美)Eric S.Roberts
作者: 施霞萍 张欢欢 王瑾德 马可幸
参考读物推荐
作者: 列旭松 陈文 著
作者: 刘凤飞 编著
作者: 冯伟兴 梁洪 王臣业 编著
作者: [美]伊芙·波塞洛(Eve Porcello)亚历克斯·班克斯(Alex Banks)著