第1章 Ajax概述 1
1.1 从CGI到Flash再到DHTML 2
1.2 当前Web应用程序环境的优缺点 2
1.2.1 走近Ajax 3
1.2.2 Ajax的必要条件 7
1.3 小结 7
第2章 Ajax基础 8
2.1 HTTP请求和响应基础 8
2.2 XMLHttpRequest对象 9
2.2.1 XMLHttpRequest方法 10
2.2.2 XMLHttpRequest属性 11
2.2.3 跨浏览器用法 12
2.2.4 向服务器发送请求 13
2.2.5 一个简单的Ajax示例 14
2.3 小结 18
第3章 PHP和Ajax 19
3.1 为什么选择PHP和Ajax 19
3.2 客户端驱动通信,服务器端完成处理 20
3.3 简单示例 20
3.3.1 内容缩放 20
3.3.2 自动完成 25
3.3.3 表单验证 32
3.3.4 工具提示 35
3.4 小结 38
第4章 数据库驱动的Ajax 39
4.1 MySQL简介 40
4.2 连接到MySQL 41
4.3 查询MySQL数据库 42
4.4 MySQL技巧和警告 45
4.5 将基于Ajax的数据库查询应用到工作中 46
4.6 更完善的自动完成功能 48
4.7 载入日历 50
4.8 小结 51
第5章 表单 53
5.1 引入Ajax:GET与POST 54
5.2 值的传递 54
5.3 表单验证 64
5.4 小结 69
第6章 图像 70
6.1 图像上传 70
6.2 图像显示 73
6.3 图像载入 75
6.4 略缩图动态生成 76
6.5 小结 80
第7章 一个真实的Ajax应用程序 81
7.1 程序代码 81
7.2 应用程序的界面外观 90
7.3 工作原理 92
7.4 小结 99
第8章 人性化的显示 100
8.1 何时使用Ajax 100
8.1.1 后退按钮问题 101
8.1.2 Ajax导航 102
8.1.3 隐藏与显示 103
8.2 PEAR简介 104
8.3 HTML Table 105
8.4 小结 109
第9章 Web服务 110
9.1 SOAP Web服务概述 111
9.1.1 引入Ajax 112
9.1.2 开始编码 112
9.1.3 SOAP应用程序的工作原理 116
9.2 小结 120
第10章 包含空间信息的Web应用 121
10.1 Google Maps如此流行 121
10.2 蓄势待发 122
10.3 该地图应用系统的工作原理 132
10.4 小结 143
第11章 跨浏览器问题 144
11.1 Ajax的可移植性 144
11.2 保留后退按钮 146
11.3 Ajax响应问题 148
11.4 弱化JavaScript 150
11.5 浏览器升级 152
11.6 小结 152
第12章 安全 153
12.1 增加了受攻击面 153
12.1.1 策略1:将相关的进入点放到相同的脚本中 154
12.1.2 策略2:采用标准函数来使用和处理用户输入 154
12.2 跨站脚本 155
12.2.1 策略1:从输入数据中去除多余的标签 156
12.2.2 策略2:在显示客户端提交的数据时对标签进行转义 157
12.2.3 策略3:保护会话数据 157
12.3 跨站请求伪造 158
12.3.1 对重要的操作采用一次性令牌 158
12.3.2 通过用户密码来确认重要的操作 160
12.3.3 GET和POST 160
12.3.4 意外的CSRF攻击 160
12.4 拒绝服务 161
12.4.1 策略1:通过延迟来对请求进行节流 161
12.4.2 策略2:优化Ajax响应数据 162
12.5 知识产权与业务逻辑的保护 164
12.5.1 策略1:对JavaScript代码混淆处理 165
12.5.2 策略2:实时的服务器端处理 165
12.6 小结 168
第13章 测试与调试 169
13.1 JavaScript错误报告 169
13.2 Firefox扩展 171
13.2.1 Web开发人员工具条 171
13.2.2 DOM解析器 171
13.2.3 LiveHTTPHeaders 172
13.2.4 JavaScript调试器Venkman 174
13.2.5 HTML验证 175
13.3 IE扩展 176
13.3.1 IE开发人员工具条 176
13.3.2 Fiddler 176
13.4 小结 177
第14章 DOM 178
14.1 访问DOM元素 178
14.1.1 document.getElementById 178
14.1.2 getElementsByTagName 179
14.1.3 访问表单中的元素 179
14.2 DOM元素的添加和删除 180
14.3 操纵DOM元素 181
14.4 用DOM操纵XML 182
14.5 将Ajax和XML与DOM结合 183
14.6 Ajax位置信息管理器的工作原理 187
14.7 小结 192