第1章 什么是Ajax
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 Ajax和Web 2.0
1.9 小结
第2章 Ajax基础
2.1 HTTP基础
2.1.1 HTTP请求
2.1.2 HTTP响应
2.2 Ajax通信技术
2.2.1 隐藏帧技术
2.2.2 XMLHttpRequest
2.2.3 基于图像的Ajax
2.2.4 动态脚本载入
2.3 缓存控制
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章 Ajax程序库
4.1 Yahoo!连接管理器
4.1.1 安装
4.1.2 基本请求
4.1.3 回调对象
4.1.4 请求的监控和管理
4.1.5 表单交互
4.1.6 文件上传
4.1.7 GET示例
4.1.8 POST示例
4.1.9 其他特性
4.1.10 局限性
4.2 Prototype
4.2.1 Ajax.Request对象
4.2.2 Options对象
4.2.3 GET示例
4.2.4 POST示例
4.2.5 Ajax.Updater对象
4.2.6 Ajax.Responders对象
4.2.7 优点与缺点
4.3 jQuery
4.3.1 简单的jQuery表达式
4.3.2 执行GET请求
4.3.3 GET示例
4.3.4 $.post()方法
4.3.5 POST示例
4.3.6 load()方法
4.3.7 $.ajax()方法
4.3.8 ajaxStart()和ajaxStop()方法
4.3.9 局限性
4.4 小结
第5章 请求管理
5.1 优先级队列
5.2 RequestManager对象
5.2.1 请求描述对象
5.2.2 对请求进行排队
5.2.3 发送请求
5.2.4 取消请求
5.2.5 基于等待时间的优先级提升
5.2.6 处理Ajax模式
5.3 使用RequestManager
5.4 小结
第6章 XML、XPath和XSLT
6.1 浏览器对XML的支持
6.1.1 IE中的XML DOM
6.1.2 其他浏览器中的XML
6.1.3 跨浏览器兼容的XML
6.1.4 一个基本的XML示例
6.2 浏览器对XPath的支持
6.2.1 XPath概述
6.2.2 IE中的XPath支持
6.2.3 使用命名空间
6.2.4 其他浏览器中的XPath支持
6.2.5 使用命名空间解析器
6.2.6 跨浏览器兼容的XPath
6.3 浏览器对XSLT的支持
6.3.1 XSLT概述
6.3.2 IE中的XSLT
6.3.3 其他浏览器中的XSLT
6.3.4 跨浏览器兼容的XSLT
6.3.5 回顾“最佳选择”功能
6.4 小结
第7章 基于RSS/Atom的聚合
7.1 RSS
7.1.1 RSS 0.91
7.1.2 RSS 1.0
7.1.3 RSS 2.0
7.2 Atom
7.3 XParser
7.3.1 xparser命名空间
7.3.2 获取数据
7.3.3 抽象类
7.4 创建一个新闻接收器
7.4.1 服务器端组件
7.4.2 客户端组件
7.4.3 设置新闻的样式
7.4.4 使用新闻接收器部件
7.5 基于RSS的Web搜索
7.5.1 服务器端组件
7.5.2 客户端组件
7.5.3 定制Web搜索部件
7.5.4 使用Web搜索部件
7.6 小结
第8章 JSON
8.1 什么是JSON
8.1.1 数组字面量
8.1.2 对象字面量
8.1.3 混合字面量
8.1.4 JSON语法
8.1.5 JSON编码和解码
8.2 JSON与XML
8.3 服务端JSON工具
8.3.1 JSON-PHP
8.3.2 其他工具
8.4 创建自动建议文本框
8.4.1 功能概述
8.4.2 HTML部分
8.4.3 数据库表
8.4.4 架构
8.4.5 类
8.4.6 自动建议控件
8.4.7 建议提供程序
8.4.8 服务器端组件
8.4.9 客户端组件
8.5 小结
第9章 Comet
9.1 HTTP流
9.1.1 请求延时
9.1.2 文件修改示例
9.1.3 使用iframe
9.1.4 浏览器特定的方法
9.1.5 服务器端发送的DOM事件
9.2 连接管理
9.3 服务器端支持
9.4 小结
第10章 地图和mashup
10.1 mashup的出现
10.2 地理编码
10.2.1 地理编码网站
10.2.2 地理编码服务
10.3 Google Maps API
10.3.1 它是如何工作的
10.3.2 开始动手
10.3.3 Google Maps基础
10.3.4 控件
10.3.5 移动地图
10.3.6 信息窗口
10.3.7 事件
10.3.8 覆盖图
10.3.9 其他
10.4 Yahoo! Maps API
10.4.1 开始动手
10.4.2 Yahoo! Maps基础
10.4.3 控件
10.4.4 移动地图
10.4.5 智能窗口
10.4.6 事件
10.4.7 覆盖图
10.4.8 地址查找
10.4.9 其他
10.5 其他地图服务API
10.6 小结
第11章 Ajax调试工具
11.1 难点
11.2 FireBug
11.2.1 安装与配置
11.2.2 操作界面
11.2.3 XHR日志
11.2.4 基于FireBug的Ajax调试
11.2.5 FireBug的局限性
11.3 Microsoft Fiddler
11.3.1 安装与配置
11.3.2 操作界面
11.3.3 HTTP断点
11.3.4 基于Fiddler的Ajax调试
11.4 小结
第12章 网站的用户界面组件
12.1 创建天气用户界面组件
12.1.1 Weather.com SDK
12.1.2 服务端组件
12.1.3 客户端组件
12.1.4 从服务器获取数据
12.1.5 定制天气用户界面组件
12.1.6 将天气用户界面组件配置为应用程序
12.1.7 将天气用户界面组件添加到Web页面中
12.2 监测股票
12.2.1 获取雅虎财经信息
12.2.2 股票行情代理
12.2.3 客户端组件:AjaxStockWatcher类
12.2.4 定制股票行情
12.2.5 使用股票监测器用户界面组件
12.3 创建网站搜索用户界面组件
12.3.1 服务器端组件
12.3.2 客户端组件
12.3.3 定制网站搜索用户界面组件
12.3.4 将网站搜索用户界面组件添加到页面中
12.4 小结
第13章 Ajax框架
13.1 JPSpan
13.1.1 使用JPSpan
13.1.2 JPSpan应用示例
13.1.3 JPSpan小结
13.2 DWR
13.2.1 使用DWR
13.2.2 DWR示例
13.2.3 dwr.xml中的更多配置项
13.2.4 DWR小结
13.3 Ajax.NET专业版
13.3.1 使用Ajax.NET专业版
13.3.2 类型转换
13.3.3 会话访问
13.3.4 Ajax.NET专业版示例
13.3.5 Ajax.NET专业版小结
13.4 小结
第14章 ASP.NET AJAX扩展(Atlas)
14.1 系统需求与设置
14.2 AJAX客户端程序库
14.2.1 在ASP.NET中访问客户端工具
14.2.2 在ASP.NET外使用客户端工具
14.2.3 使用类
14.2.4 编写使用ASP.NET AJAX程序库的代码
14.2.5 使用控件
14.2.6 发起HTTP请求
14.3 更新面板控件
14.3.1 在页面中添加更新面板
14.3.2 为更新面板添加内容
14.3.3 触发更新
14.3.4 完成所有任务
14.4 重新开发网站搜索用户界面组件
14.4.1 用户界面
14.4.2 开始动手
14.4.3 定义表单
14.4.4 执行搜索
14.4.5 清除搜索结果
14.4.6 处理错误
14.4.7 绑定事件
14.5 小结
第15章 案例学习:FooReader.NET
15.1 客户端组件
15.1.1 用户界面
15.1.2 设置用户界面的样式
15.1.3 驱动UI
15.2 服务器端应用程序
15.2.1 可选的范型
15.2.2 实现
15.3 安装与测试
15.4 小结
第16章 案例学习:AjaxMail
16.1 需求
16.2 架构
16.2.1 所使用的资源
16.2.2 数据库表
16.2.3 配置文件
16.2.4 AjaxMailbox类
16.2.5 执行动作
16.3 用户界面
16.3.1 文件夹视图
16.3.2 阅读视图
16.3.3 写视图
16.3.4 布局
16.4 将所有的整合在一起
16.4.1 辅助函数
16.4.2 mailbox对象
16.4.3 回调函数
16.4.4 事件处理器
16.5 最后一步
16.6 小结