具体描述
《Ajax高级程序设计》是一本关于Ajax技术、模式和使用场景的开发人员级教程,不仅介绍了Ajax的基本知识,还讨论了Ajax模式和框架,同时针对XML(包括XPath和XSLT)、RSS/Atom、Web服务、JSON和Web用户界面组件等主题,阐述了如何将Ajax和这些技术有效地结合在一起,并利用Ajax开发的一个Web Mail系统实例。书中经典的实例、完整的源代码,都将给读者带来“实战”的指导。与《Ajax高级程序设计》配套的源代码可以在图灵网站下载。
作者简介
Nicholas C.Zakas是世界知名的javascript专家和web开发人员。他撰写的professional javascript for web developer一书(中文版人民邮电出版社即将推出)已经成为经典著作。nicholas拥有丰富的web开发和界面设计经验,曾经参与许多世界大公司的web解决方案开发。
jeremy mcpeak是一位经验丰富的web开发专家,曾经使用javascript、php和c#开发各种web解决方案,他还撰写了许多讲述xslt、webforms和c#的技术文章。
jon fawcett微软xmlmvp。目前是一家金融培训公司的开发人员。
目录信息
1.1 ajax的诞生
1.2 web的演化过程
1.2.1 javascript
1.2.2 帧
1.2.3 隐藏帧技术
1.2.4 动态html和dom
1.2.5 iframe
1.2.6 xmlhttp
1.3 真正的ajax
1.4 ajax原则
1.5 ajax后面的技术
1.6 谁在使用ajax?
1.6.1 google suggest
1.6.2 gmail
1.6.3 google maps
1.6.4 a9
1.6.5 yahoo!news
1.6.6 bitflux blog
1.7 混乱与争议
1.8 小结
第2章 ajax基础
2.1 http基础
2.1.1 http请求
2.1.2 http应答
2.2 ajax通讯技术
2.2.1 隐藏帧技术
2.2.2 xmlhttp请求
2.3 进一步考虑
2.3.1 同源策略
2.3.2 缓存的控制
2.4 小结
第3章 ajax模式
3.1 通信控制模式
3.1.1 预先获取
3.1.2 页面预载入的例子
3.1.3 提交节流
3.1.4 表单增量验证的实例
3.1.5 字段增量验证实例
3.1.6 定期刷新
3.1.7 新评论提示实例
3.1.8 多阶段下载
3.1.9 附加信息链接实例
3.2 失效处理模式
3.2.1 取消待处理的请求
3.2.2 重试
3.3 小结
第4章 xml、xpath和xslt
4.1 浏览器对xml的支持
4.1.1 ie中的xml dom
4.1.2 firefox中的xml dom
4.1.3 跨浏览器兼容的xml
4.1.4 基本的xml实例
4.2 浏览器对xpath的支持
4.2.1 xpath概述
4.2.2 ie中的xpath
4.2.3 使用命名空间
4.2.4 firefox中的xpath
4.2.5 使用命名空间解析器
4.2.6 跨浏览器兼容的xpath
4.3 浏览器对xslt的支持
4.3.1 xslt概述
4.3.2 ie中的xslt
4.3.3 firefox中的xslt
4.3.4 跨浏览器兼容xslt
4.3.5 重访“最佳选择”
4.4 小结
第5章 基于rss/atom的syndication
5.1 rss
5.1.1 rss 0.91
5.1.2 rss 1.0
5.1.3 rss 2.0
5.2 atom
5.3 fooreader.net
5.3.1 客户端组件
5.3.2 服务器端组件
5.3.3 将客户端和服务器连接起来
5.4 安装
5.5 测试
5.6 小结
第6章 web服务
6.1 相关技术
6.1.1 soap
6.1.2 wsdl
6.1.3 rest
6.2 .net连接
6.3 设计决策
6.4 创建windows平台的web服务
6.4.1 系统需求
6.4.2 配置iis
6.4.3 编写web服务
6.4.4 创建程序集
6.5 web服务和ajax
6.5.1 创建测试工具
6.5.2 ie使用的方法
6.5.3 mozilla使用的方法
6.5.4 通用方法
6.6 跨域的web服务
6.6.1 google web api 服务
6.6.2 创建代理
6.7 小结
第7章 json
7.1 什么是json?
7.1.1 数组表示
7.1.2 对象表示
7.1.3 混合表示
7.1.4 json语法
7.1.5 json编码和解码
7.2 json vs. xml
7.3 服务端json工具
7.3.1 json-php
7.3.2 其它工具
7.4 创建自动提示的文本框
7.4.1 功能概述
7.4.2 html部分
7.4.3 数据库表
7.4.4 体系结构
7.4.5 类
7.4.6 自动建议控件
7.4.7 建议提供者
7.4.8 服务器端组件
7.4.9 客户端组件
7.5 小结
第8章 web网站的用户界面组件
8.1 创建滚动新闻用户界面组件
8.1.1 服务器端组件
8.1.2 客户端组件
8.1.3 对新闻设置样式
8.1.4 实现滚动新闻用户界面组件
8.2 创建天气用户界面组件
8.2.1 weather.com提供的sdk
8.2.2 服务器端组件
8.2.3 客户端组件
8.2.4 从服务器获取数据
8.2.5 定制天气用户界面组件
8.2.6 实现天气用户界面组件
8.3 创建web搜索用户界面组件
8.3.1 服务器端组件
8.3.2 客户端组件
8.3.3 定制web搜索用户界面组件
8.3.4 实现web搜索用户界面组件
8.4 创建网站搜索用户界面组件
8.4.1 服务器端组件
8.4.2 客户端组件
8.4.3 定制网站搜索用户界面组件
8.4.4 实现网站搜索用户界面组件
8.5 小结
第9章 ajaxmail
9.1 需求
9.2 架构
9.2.1 将使用的资源
9.2.2 数据库表
9.2.3 配置文件
9.2.4 ajaxmailbox类
9.2.5 执行操作
9.3 用户界面
9.3.1 文件夹视图
9.3.2 阅读视图
9.3.3 写邮件视图
9.3.4 布局
9.4 整合
9.4.1 辅助函数
9.4.2 mailbox对象
9.4.3 回调函数
9.4.4 事件处理函数
9.5 最后一步
9.6 小结
第10章 ajax框架
10.1 jpspan
10.1.1 工作原理
10.1.2 安装jpspan
10.1.3 创建服务端页面
10.1.4 创建客户端页面
10.1.5 错误处理
10.1.6 类型转换
10.1.7 jpspan小结
10.2 dwr
10.2.1 工作原理
10.2.2 安装dwr
10.2.3 创建客户端页面
10.2.4 使用自定义类
10.2.5 错误处理
10.2.6 dwr.xml中的更多配置项
10.2.7 转换器
10.2.8 dwr小结
10.3 ajax.net
10.3.1 工作原理
10.3.2 安装ajax.net
10.3.3 创建web页面
10.3.4 简单类型和复杂类型
10.3.5 session状态
10.3.6 ajax.net小结
10.4 小结
· · · · · · (收起)
读后感
我在网上书城购买的这本书,看内容很不错!买回来时可高兴了。但是自己看起来很吃力,想找同学教教自己,但是大家都在学习,抽不出时间教我。后来隔壁宿舍的一个同学偶然提起说:他学计算机是在一个叫猎豹网校上面学的。我赶紧百度搜一下,呵,真的是琳琅满目啊,好多计算机课...
前几章讲的ajax的设计原则和通信模式是比较有价值的,详细的介绍了一些典型的ajax模式。之前做过一个项目就是犯了一个大数据量传输的错误,看过此书之后修改了数据传输的方式,效率和稳定性提高了不少。 基础的部分也讲了不少,主要是xml/xslt和JSON这些数据的方面。 后几章...
前几章讲的ajax的设计原则和通信模式是比较有价值的,详细的介绍了一些典型的ajax模式。之前做过一个项目就是犯了一个大数据量传输的错误,看过此书之后修改了数据传输的方式,效率和稳定性提高了不少。 基础的部分也讲了不少,主要是xml/xslt和JSON这些数据的方面。 后几章...
逻辑混乱,章节编排混乱。 最重要的是,对于一些我们关心的例如跨域问题,没有详细讲解。 更极端的是,书中居然说js闭包在大部分浏览器中会造成内存泄漏,让大家最好别用……
逻辑混乱,章节编排混乱。 最重要的是,对于一些我们关心的例如跨域问题,没有详细讲解。 更极端的是,书中居然说js闭包在大部分浏览器中会造成内存泄漏,让大家最好别用……
用户评价
老实说,我对技术书籍的期待值通常不高,很多所谓的“高级”往往只是对基础知识的重复包装。但《Ajax高级程序设计》成功地打破了我的固有印象。它真正触及了那些在日常开发中容易被忽略,但一旦出现问题就会让你抓狂的“深水区”。比如,它花了大量的篇幅来解析浏览器在处理并发请求时的缓存策略和性能优化技巧,这一点市面上大多数教材都一带而过。我记得其中有一章专门讲解了如何设计一套高效的请求队列管理器,以避免大规模数据加载时造成的页面卡顿和资源浪费。作者的思路非常严谨,不仅仅关注于“如何发送请求”,更关注于“如何以最健康的方式管理这些请求”。阅读过程中,我常常需要停下来思考,因为书中的很多观点都带有强烈的批判性和前瞻性,促使我反思自己过去写的一些代码是否过于简单粗暴。它提供的不是一套固定的公式,而是一套思考问题的底层逻辑和架构理念。
这本书的叙事风格非常独特,它不像一本枯燥的参考手册,更像是一位经验丰富的前辈在跟你分享他的“血泪史”和“独家秘籍”。从最初的XMLHttpRequest对象如何被包装和抽象,到后来对JSONP、CORS等跨域解决方案的深入剖析,每一步都走得扎实而有力。我特别喜欢作者在讲解CORS时所采用的比喻,一下子就把那个复杂的预检请求(OPTIONS)流程讲明白了,让我瞬间理解了为什么浏览器需要这么费劲地做这些安全校验。更重要的是,它没有沉溺于特定框架的实现细节,而是将重点放在了AJAX这个底层Web技术本身如何演进,以及如何应对不同浏览器环境下的兼容性挑战。这确保了书中的知识体系具有极强的生命力,即使框架更迭,这些核心原理依然适用。对于希望构建跨平台、高稳定性的Web应用的工程师来说,这本书奠定了坚实的基础。
我必须承认,初读这本书时,某些关于底层网络协议和HTTP/2特性的章节,对我的理解构成了一定的挑战。它没有像初级读物那样,把所有的复杂性都用糖衣包裹起来。相反,它直面了Web性能调优中那些令人头疼的细节,比如TCP慢启动、连接复用在高并发AJAX场景下的影响,甚至还涉及到了服务器端如何配合客户端进行最优化的数据传输策略。这种深度让我感到既敬畏又兴奋。它迫使我走出“只管写代码”的舒适区,去理解浏览器和服务器之间那场无休止的“对话”。读完之后,我立刻回去检查了我负责的一个项目中的所有API调用,果然发现了不少可以利用HTTP/2特性进行压缩和多路复用的优化点。这本书的价值就在于,它不仅教你技术,更教你用工程师的视角去审视技术栈的每一个环节。
这本书的排版和结构设计也颇具匠心,虽然内容非常硬核,但逻辑脉络清晰得令人称赞。章节之间的过渡自然流畅,从同步到异步,从基础请求到高级数据流管理,每一步都有明确的目标和铺垫。我尤其欣赏它对“数据契约”和“幂等性”在AJAX设计中的重要性的强调。在实际工作中,我们常常因为追求快速实现而忽略了这些基础的架构原则,导致后期维护成本飙升。而这本书就像一个警钟,时刻提醒我们,一个“高级”的程序设计不仅仅是代码量大、功能多,更重要的是其内在的健壮性和可预测性。对于那些渴望从“代码实现者”升级为“系统架构师”的开发者而言,这本书提供的哲学思辨和实践准则,其价值远超于任何一本单纯的技术手册。它让你对“程序设计”这三个字有了更深层次的理解。
这本书简直是为那些想在前端世界里玩得更转的开发者量身定做的!我一开始接触AJAX的时候,总是被各种异步回调和状态管理搞得焦头烂额,感觉就像在和一堆脾气古怪的浏览器对象打交道。然而,这本书用一种极其清晰且循序渐进的方式,将那些晦涩难懂的概念,比如`XMLHttpRequest`对象的生命周期、事件监听的细节,乃至如何优雅地处理网络延迟和错误,都梳理得井井有条。尤其让我印象深刻的是它对现代AJAX实践的探讨,不仅仅停留在基础的`fetch` API上,还深入到了如何结合Promises和`async/await`来构建真正健壮、易于维护的异步代码流。那种豁然开朗的感觉,仿佛从泥泞中一下子站到了平坦的观测台上,对整个数据交互的流程有了全局的掌控。它没有那种填鸭式的理论堆砌,而是充满了大量的实战案例和代码片段,让你边读边动手,效果立竿见影。对于那些希望从“能用”跨越到“精通”的读者来说,这绝对是一笔值得的投资。
有热门技术就有热门技术相关的书,讲的不错,但没有看完。万变不离其宗的原因吧....,或者是浮躁的原因
有热门技术就有热门技术相关的书,讲的不错,但没有看完。万变不离其宗的原因吧....,或者是浮躁的原因
有热门技术就有热门技术相关的书,讲的不错,但没有看完。万变不离其宗的原因吧....,或者是浮躁的原因
要想实战,还是这本。
good