第一部分 Web基础知识回顾 1
第1章 Web的运作 1
1.1Internet简史 1
1.1.2万维网 2
1.2.1什么是Web页面 2
1.2.2Web服务器 2
1.2.3服务器端编程 3
1.2.4Web浏览器 4
1.2.5客户端编程 5
1.2.6DNS——域名服务器 5
1.3HTTP简介 5
1.4HTTP请求和响应 5
1.4.1HTTP请求 6
1.4.2HTTP响应 6
1.5HTML表单 7
1.6小结 10
第2章 用HTML和CSS编写样式化页面 11
2.1HTML简介 11
2.1.1什么是HTML 11
2.1.2编写HTML需要什么工具 12
2.1.3第一个HTML文档 1212
2.2HTML页面的元素 13
2.2.1文档的标题〈head〉 13
2.2.2文档正文〈body〉 14
2.2.3为HTML元素添加属性 14
2.2.4图像 15
2.2.5表 15
2.2.6超链接 16
2.3HTML页面更高级知识 16
2.4一些有用的HTML标签 18
2.5添加自己的样式 18
2.6定义规则 19
2.7添加一些类 19
2.8应用样式 21
2.8.1嵌入样式 21
2.8.2链接样式 21
2.8.3内联样式 22
2.8.4层叠优先级 22
2.9使用样式格式化文本 23
2.9.1链接样式 26
2.9.2颜色样式 27
2.10添加线条 27
2.11小结 28
第3章 剖析Ajax应用程序 29
3.1为何需要Ajax 29
3.1.1传统客户端-服务器交互和Ajax 29
3.1.2富用户体验 30
3.2Ajax简介 31
3.3Ajax的必备部分 32
3.3.1XMLHTTPRequest对象 32
3.3.2与服务器通信 33
3.3.3服务器上发生了什么 33
3.3.4处理服务器响应 33
3.3.5其他常见任务 33
3.4整合 34
3.5小结 35
第二部分 JavaScriptWeb脚本编程基础 37
第4章 用JavaScript创建简单脚本 37
4.1脚本编程工具 37
4.1.1文本编辑器 37
4.1.2浏览器 38
4.2使用JavaScript显示时间 38
4.3开始脚本 38
4.4添加JavaScript语句 39
4.4.1把日期存储到变量中 39
4.4.2计算结果 39
4.5创建输出 39
4.6把脚本添加到Web页面 40
4.7测试脚本 41
4.7.1修改脚本 41
4.7.2处理JavaScript错误 43
4.7.3语句 44
4.7.4使用函数组合任务 44
4.7.5变量 45
4.7.6条件 45
4.7.7循环 45
4.7.8事件处理程序 45
4.7.9哪个脚本先运行 46
4.8JavaScript语法规则 46
4.8.1区分大小写 47
4.8.2变量名、对象名和函数名 47
4.8.3保留字 47
4.8.4空白 47
4.9使用注释 47
4.10JavaScript最佳实践 48
4.11小结 49
第5章 使用文档对象模型(DOM) 51
5.1理解对象 51
5.2理解DOM 52
5.2.1DOM的历史 52
5.2.2DOM层级 53
5.3操作Web文档 53
5.3.1获取有关文档的信息 53
5.3.2把文本写入一个文档 54
5.3.3使用链接和锚点 55
5.4访问浏览器历史 55
5.5使用location对象 56
5.6小结 58
第6章 使用变量、字符串和数组 59
6.1使用变量 59
6.1.1选择变量名称 59
6.1.2使用局部变量和全局变量 60
6.1.3给变量赋值 61
6.2理解表达式和操作符 61
6.2.1使用JavaScript操作符 62
6.2.2操作符优先级 62
6.3JavaScript中的数据类型 63
6.4数据类型之间的转换 63
6.5使用String对象 64
6.5.1创建一个String对象 64
6.5.2赋值 65
6.5.3计算字符串的长度 66
6.5.4转换字符串的大小写 66
6.6操作子字符串 67
6.6.1使用字符串的一部分 67
6.6.2获取单个字符 67
6.6.3查找一个子字符串 67
6.7使用数值数组 68
6.7.1创建一个数值数组 68
6.7.2理解数组长度 69
6.7.3访问数组元素 69
6.8使用字符串数组 70
6.8.1创建字符串数组 70
6.8.2分隔字符串 70
6.8.3排序字符串数组 71
6.9数值数组排序 71
6.10小结 73
第7章 使用函数和对象 74
7.1使用函数 74
7.1.1定义函数 74
7.1.2调用函数 75
7.1.3返回值 77
7.2对象简介 78
7.2.1创建对象 78
7.2.2对象属性和值 78
7.2.3理解方法 79
7.3使用对象来简化脚本编程 79
7.3.1定义对象 79
7.3.2定义对象方法 80
7.3.3创建对象实例 81
7.4扩展内建的对象 81
7.5小结 84
第8章 使用条件和循环来控制流程 85
8.1if语句 85
8.1.1条件操作符 86
8.1.2使用逻辑操作符组合条件 86
8.1.3else关键字 87
8.2使用简捷条件表达式 88
8.3使用if和else测试多个条件 88
8.3.1HTML文件 89
8.3.2JavaScript文件 89
8.4使用带有switch的多个条件 90
8.5使用for循环 91
8.6使用while循环 93
8.7使用do…while循环 94
8.8使用循环 94
8.8.1创建一个无限循环 94
8.8.2退出循环 95
8.8.3继续循环 95
8.9遍历对象属性 96
8.10小结 98
第9章 使用内建函数和库 99
9.1使用Math对象 99
9.1.1舍入和截断 99
9.1.2生成随机数 99
9.1.3其他Math函数 100
9.2使用Math函数 100
9.3使用with关键字 102
9.4使用Date 102
9.4.1创建一个Date对象 103
9.4.2设置Date值 103
9.4.3读取日期值 103
9.4.4使用时区 104
9.4.5在日期格式之间转换 104
9.5使用第三方库 104
9.5.1Prototype 105
9.5.2Script.aculo.us 105
9.6其他的库 105
9.7小结 106
第三部分 Ajax基础 107
第10章 Ajax的核心——XMLHTTPRequest对象 107
10.1XMLHTTPRequest简介 107
10.2创建XMLHTTPRequest对象 108
10.2.1不同浏览器的不同结果 108
10.2.2一个提供给所有浏览器的解决方案 108
10.2.3方法和属性 111
10.2.4open()方法 112
10.2.5send()方法 112
10.3小结 112
第11章 与服务器通信 113
11.1发送服务器请求 113
11.2检测服务器状态 117
11.2.1readyState属性 117
11.2.2服务器响应状态码 118
11.3回调函数 118
11.4小结 120
第12章 使用返回的数据 121
12.1responseText和responseXML属性 121
12.1.1responseText属性 121
12.1.2responseXML属性 123
12.1.3getElementsByTagName()方法 124
12.2解析responseXML 124
12.3提供用户反馈 125
12.4小结 127
第13章 第一个Ajax应用程序 128
13.1构建Ajax应用程序 128
13.2HTML文档 128
13.3添加JavaScript 130
13.3.1XMLHTTPRequest对象 130
13.3.2服务器请求 130
13.3.3PHP服务器端脚本 131
13.3.4回调函数 131
13.3.5使用事件处理程序 132
13.4综合应用 132
13.5小结 136
第四部分 使用PHP的服务器端脚本编程 137
第14章 认识PHP 137
14.1PHP基础 137
14.1.1服务器端脚本编程 137
14.1.2PHP标签 138
14.2第一个PHP脚本 139
14.2.1echo命令 140
14.2.2注释 141
14.3小结 142
第15章 变量 143
15.1理解变量 143
15.1.1命名变量 144
15.1.2表达式 144
15.1.3字符串中的变量 144
15.2数据类型 145
15.3使用数值 145
15.3.1算术操作符 145
15.3.2自增和自减 146
15.3.3复合操作符 146
15.4数值数据类型 147
15.5数值函数 147
15.5.1舍入数值 147
15.5.2随机数 147
15.5.3数学函数 147
15.6使用字符串 148
15.6.1使用反斜杠转义字符 148
15.6.2连接 148
15.6.3比较字符串 149
15.7格式化字符串 149
15.7.1使用printf 149
15.7.2使用sprintf 150
15.8字符串函数 150
15.8.1大写 150
15.8.2分解字符串 151
15.9使用数组 151
15.9.1创建和访问数组 152
15.9.2遍历数组 152
15.9.3关联数组 153
15.10数组函数 153
15.11日期格式 154
15.11.1DIY日期格式 154
15.11.2UNIX时间戳格式 154
15.12使用时间戳 155
15.12.1格式化日期 155
15.12.2创建时间戳 156
15.12.3把其他的日期格式转换为时间戳 157
15.13小结 157
第16章 流程控制 158
16.1条件语句 158
16.1.1条件操作符 159
16.1.2逻辑操作符 159
16.1.3多条件分支 160
16.1.4switch语句 161
16.2循环 162
16.2.1while循环 162
16.2.2do循环 162
16.2.3for循环 163
16.2.4嵌套条件和循环 163
16.2.5跳出循环 163
16.3小结 163
第17章 函数 164
17.1使用函数 164
17.2参数和返回值 165
17.2.1返回成功或失败 166
17.2.2默认参数值 166
17.2.3变量作用域 167
17.3使用库文件 168
17.4小结 169
第18章 使用类 170
18.1面向对象的PHP编程 170
18.2什么是类 170
18.2.1何时使用类 171
18.2.2类是什么样的 171
18.3创建和使用对象 171
18.3.1方法和属性 171
18.3.2使用第三方类 172
18.4小结 174
第五部分 较复杂的Ajax技术 175
第19章 返回文本数据 175
19.1从responseText属性获取更多 175
19.1.1返回文本 175
19.1.2直接在页面元素中使用返回的文本 175
19.1.3在responseText中包含HTML 178
19.1.4更复杂的格式化数据 179
19.2小结 180
第20章 AHAH——异步HTML和HTTP 182
20.1AHAH简介 182
20.2为AHAH创建一个较小的库 183
20.3使用myAHAHlib.js 184
20.4小结 189
第21章 返回XML数据 190
21.1添加Ajax中的“x” 190
21.2responseXML属性 190
21.2.1更多的JavaScript的DOM方法 191
21.2.2DOM方法概览 193
21.3项目——一个RSS新闻阅读器 193
21.3.1应用程序的HTML页面 194
21.3.2完整代码 195
21.3.3回调函数 198
21.3.4服务器端代码 199
21.4小结 201
第22章 Web服务器和REST及SOAP协议 202
22.1Web服务简介 202
22.2REST——RepresentationalStateTransfer 203
22.2.1一个假设的REST示例 203
22.2.2使用GET查询信息 204
22.2.3无状态操作 204
22.3使用REST 204
22.3.1读取可用文章列表 204
22.3.2获取特定的文章 205
22.3.3上传一篇新文章 205
22.3.4REST和Ajax 207
22.4使用SOAP的Web服务 208
22.5SOAP协议 208
22.5.1一个SOAP请求的代码示例 210
22.5.2通过HTTP发送SOAP请求 210
22.6使用Ajax和SOAP 211
22.7再谈SOAP和REST 212
22.8小结 212
第23章 用于Ajax的JavaScript库 213
23.1一个Ajax库 213
23.2回顾myAHAHlib.js 213
23.3实现库 214
23.3.1创建XMLHTTPRequest实例 214
23.3.2HTTPGET和POST请求 215
23.3.3回调函数 216
23.4使用库 218
23.5小结 221
第24章 Ajax陷阱 222
24.1常见Ajax错误 222
24.2Back按钮 222
24.3书签和链接 223
24.4告诉用户正在发生什么 223
24.5让Ajax优雅降级 224
24.6处理搜索引擎蜘蛛 224
24.7指出活动页面元素 224
24.8不要在不合适的时候使用Ajax 225
24.9安全性 225
24.10跨多平台测试代码 226
24.11Ajax不能弥补糟糕的设计 226
24.12一些编程陷阱 226
24.12.1浏览器捕获GET请求 226
24.12.2许可拒绝错误 227
24.12.3转义内容 227
24.13小结 227
第六部分 Ajax工具和资源 229
第25章 prototype.js工具箱 229
25.1prototype.js简介 229
25.1.1$()函数 230
25.1.2$F()函数 230
25.1.3Form对象 230
25.1.4Try.these()函数 231
25.2包装XMLHTTPRequest——Ajax对象 231
25.2.1Ajax.Request 231
25.2.2Ajax.Updater 232
25.2.3Ajax.PeriodicalUpdater 233
25.3示例项目——股票价格阅读器 233
25.4小结 235
第26章 使用Rico 236
26.1Rico简介 236
26.1.1在应用程序中使用Rico 236
26.1.2Rico的AjaxEngine 236
26.1.3一个简单的示例 238
26.2Rico的其他界面工具 240
26.2.1拖拽 240
26.2.2拖拽界面示例 240
26.2.3电影效果 243
26.3小结 244
第27章 使用Script.aculo.us 245
27.1下载库 245
27.2包含文件 245
27.3使用效果 246
27.4构建脚本 246
27.5小结 248
第28章 使用XOAD 249
28.1XOAD简介 249
28.1.1下载和安装XOAD 249
28.1.2一个简单的XOAD页面 250
28.2XOADHTML 252
28.2.1XOAD_HTML::getElementById() 252
28.2.2XOAD_HTML::getElementsBy-TagName() 253
28.3XOAD_HTML高级编程 255
28.3.1XOAD事件 255
28.3.2使用XOAD缓存处理 255
28.3.3XOAD控件 255
28.4小结 255
附录JavaScript、PHP和AjaxWeb站点 256
术语表 258