第1章 什么是Ajax 1
1.1Ajax的诞生 1
1.2Web的演化过程 2
1.2.1JavaScript 2
1.22帧 2
1.2.3隐藏帧技术 2
1.2.4动态HTML和DOM 3
1.2.5iframe 3
1.2.6XMLHttp 3
1.3真正的Ajax 4
1.4Ajax原则 5
1.5Ajax背后的技术 5
1.6谁在使用Ajax 6
1.6.1Google Suggest 6
1.6.2Gmai1 7
1.6.3Google Maps 7
1.6.4A9 8
1.6.5Yahoo!News 9
1.6.6Bitflux Blog 10
1.7困惑与争议 10
1.8Ajax和Web 2.0 11
1.9小结 11
第2章 Ajax基础 13
2.1HT TP基础 13
2.1.1HTTP请求 13
2.1.2HTTP响应 15
2.2Ajax通信技术 16
2.2.1隐藏帧技术 16
2.2.2 XMLHttpRequest 31
2.2.3基于图像的Ajax 42
2.2.4动态脚本载入 50
2.3缓存控制 54
2.4小结 54
第3章 Ajax模式 55
3.1通信控制模式 55
3.1.1预先获取 55
3.1.2页面预载入示例 56
3.1.3提交节流 63
3.1.4表单增量验证示例 65
3.1.5字段增量验证示例 71
3.1.6定期刷新 74
3.1.7新评论提示示例 74
3.1.8多阶段下载 79
3.1.9附加信息链接示例 79
3.2失效处理模式 81
3.2.1取消待处理的请求 81
3.2.2重试 83
3.3小结 85
第4章 Ajax程序库 86
4.1Yahoo!连接管理器 86
4.1.1安装 86
4.1.2基本请求 86
4.1.3回调对象 87
4.1.4请求的监控和管理 90
4.1.5表单交互 90
4.1.6文件上传 91
4.1.7GET示例 92
4.1.8POST示例 93
4.1.9其他特性 94
4.1.10局限性 94
4.2Prototype 94
4.2.1Ajax.Request对象 94
4.2.2options对象 95
4.2.3GET示例 97
4.2.4POST示例 98
4.2.5Ajax.Updater对象 98
4.2.6Ajax.Responders对象 100
4.2.7优点与缺点 102
4.3jQuery 102
4.3.1简单的jQuery表达式 102
4.3.2执行GET请求 103
4.3.3GET示例 104
4.3.4?.post()方法 105
4.3.5POST示例 105
4.3.6load()方法 107
4.3.7?.ajax()方法 107
4.3.8ajaxstart)和ajaxstop()方法 108
4.3.9局限性 109
4.4小结 109
第5章 请求管理 110
5.1优先级队列 110
5.2RequestManager对象 114
5.2.1请求描述对象 114
5.2.2对请求进行排队 115
5.2.3发送请求 116
5.2.4取消请求 121
5.2.5基于等待时间的优先级提升 122
5.2.6处理Ajax模式 124
5.3使用RequestManager 126
5.4小结 129
第6章 XML、 XPath和XSLT 131
6.1浏览器对XML的支持 131
6.1.1 IE中的XML DOM 131
6.1.2其他浏览器中的XML 140
6.1.3跨浏览器兼容的XML 142
6.1.4一个基本的XML示例 143
6.2浏览器对XPath的支持 149
6.2.1XPath概述 149
6.2.2IE中的XPath支持 150
6.2.3使用命名空间 150
6.2.4其他浏览器中的XPath支持 153
6.2.5使用命名空间解析器 154
6.2.6跨浏览器兼容的XPath 155
6.3浏览器对XSLT的支持 156
6.3.1XSLT概述 157
6.3.2IE中的XSLT 159
6.3.3其他浏览器中的XSLT 163
6.3.4跨浏览器兼容的XS LT 164
6.3.5回顾“最佳选择”功能 165
6.4小结 167
第7章 基于RSS/Atom的聚合 169
7.1RSS 169
7.1.1RSS0.91 170
7.1.2RSS1.0 170
7.1.3RSS2.0 171
7.2Atom 172
7.3XParser 173
7.3.1xparser命名空间 173
7.3.2获取数据 173
7.3.3抽象类 174
7.4创建一个新闻接收器 184
7.4.1服务器端组件 185
7.4.2客户端组件 186
7.4.3设置新闻的样式 194
7.4.4使用新闻接收器部件 196
7.5基于RSS的Web搜索 197
7.5.1服务器端组件 197
7.5.2客户端组件 198
7.5.3定制Web搜索部件 204
7.5.4使用Web搜索部件 206
7.6小结 207
第8章 JSON 209
8.1什么是JSON 209
8.1.1数组字面量 209
8.1.2对象字面量 210
8.1.3混合字面量 210
8.1.4JSON语法 211
8.1.5JSON编码和解码 212
8.2JSON与XML 213
8.3服务端JSON工具 214
8.3.1JSON-PHP 214
8.3.2其他工具 216
8.4创建自动建议文本框 216
8.4.1功能概述 216
8.4.2HTML部分 217
8.4.3数据库表 218
8.4.4架构 219
8.4.5类 219
8.4.6自动建议控件 220
8.4.7建议提供程序 234
8.4.8服务器端组件 236
8.4.9客户端组件 237
8.5小结 239
第9章 Comet 240
9.1HTTP流 240
9.1.1请求延时 241
9.1.2文件修改示例 242
9.1.3使用iframe 244
9.1.4浏览器特定的方法 248
9.1.5服务器端发送的DOM事件 257
9.2连接管理 261
9.3服务器端支持 262
9.4小结 262
第10章 地图和mashup 264
10.1 mashup的出现 264
10.2地理编码 265
10.2.1地理编码网站 265
10.2.2地理编码服务 265
10.3 Google Maps API 266
10.3.1它是如何工作的 266
10.3.2开始动手 267
10.3.3 Google Maps基础 267
10.3.4控件 268
10.3.5移动地图 270
10.3.6信息窗口 270
10.3.7事件 275
10.3.8覆盖图 276
10.3.9其他 283
10.4Yahoo! Maps API 283
10.4.1开始动手 284
10.4.2 Yahoo! Maps基础 284
10.4.3控件 286
10.4.4移动地图 287
10.4.5智能窗口 287
10.4.6事件 288
10.4.7覆盖图 289
10.4.8地址查找 294
10.4.9其他 294
10.5其他地图服务API 295
10.6小结 295
第11章Ajax调试工具 296
11.1难点 296
11.2FireBug 297
11.2.1安装与配置 297
11.2.2操作界面 297
11.2.3 XHR日志 398
11.2.4基于FireBug的Ajax调试 300
11.2.5 FireBug的局限性 300
11.3 Microsoft Fiddler 300
11.3.1安装与配置 301
11.3.2操作界面 302
11.3.3 HTTP断点 304
11.3.4基于Fiddler的Ajax调试 305
11.4小结 306
第12章 网站的用户界面组件 307
12.1创建天气用户界面组件 307
12.1.1 Weather.com SDK 307
12.1.2服务端组件 308
12.1.3客户端组件 316
12.1.4从服务器获取数据 317
12.1.5定制天气用户界面组件 317
12.1.6将天气用户界面组件配置为应用程序 321
12.1.7将天气用户界面组件添加到Web页面中 324
12.2监测股票 325
12.2.1获取雅虎财经信息 325
12.2.2股票行情代理 325
12.2.3客户端组件:AjaxstockWatcher类 330
12.2.4定制股票行情 338
12.2.5使用股票监测器用户界面组件 340
12.3创建网站搜索用户界面组件 341
12.3.1服务器端组件 342
12.3.2客户端组件 350
12.3.3定制网站搜索用户界面组件 356
12.3.4将网站搜索用户界面组件添加到页面中 357
12.4小结 358
第13章 Ajax框架 359
13.1JPSpan 359
13.1.1使用JPSpan 359
13.1.2JPSpan应用示例 364
13.1.3JPSpan小结 367
13.2DWR 367
13.2.1使用DWR 367
13.2.2DWR示例 370
13.2.3dwr.xml中的更多配置项 374
13.2.4DWR小结 377
13.3Ajax.NET专业版 377
13.3.1使用Ajax.NET专业版 377
13.3.2类型转换 379
13.3.3会话访问 380
13.3.4Ajax.NET专业版示例 381
13.3.5Ajax.NET专业版小结 386
13.4小结 386
第14章 ASP.NETAJAX扩展(Atlas) 387
14.1系统需求与设置 387
14.2AJAX客户端程序库 388
14.2.1在ASP.NET中访问客户端工具 388
14.2.2在ASP.NET外使用客户端工具 389
14.2.3使用类 389
14.2.4编写使用ASP.NET AJAX程序库的代码 390
14.2.5使用控件 395
14.2.6发起HTTP请求 399
14.3更新面板控件 403
14.3.1在页面中添加更新面板 403
14.3.2为更新面板添加内容 404
14.3.3触发更新 404
14.3.4完成所有任务 405
14.4重新开发网站搜索用户界面组件 406
14.4.1用户界面 406
14.4.2开始动手 407
14.4.3定义表单 407
14.4.4执行搜索 410
14.4.5清除搜索结果 414
14.4.6处理错误 414
14.4.7绑定事件 415
14.5小结 417
第15章 案例学习:FooReader.NET 418
15.1客户端组件 418
15.1.1用户界面 419
15.1.2设置用户界面的样式 421
15.1.3启动UI 427
15.2服务器端应用程序 440
15.2.1可选的范型 441
15.2.2实现 441
15.3安装与测试 451
15.4小结 452
第16章 案例学习:AjaxMail 453
16.1需求 453
16.2架构 454
16.2.1所使用的资源 454
16.2.2数据库表 454
16.2.3配置文件 455
16.2.4AjaxMailbox类 456
16.2.5执行动作 477
16.3用户界面 483
16.3.1文件夹视图 485
16.3.2阅读视图 488
16.3.3写视图 489
16.3.4布局 491
16.4将所有的整合在一起 492
16.4.1辅助函数 493
16.4.2 mailbox对象 494
16.4.3回调函数 511
16.4.4事件处理器 512
16.5最后一步 513
16.6小结 513