《Ajax从入门到精通 网站开发非常之旅》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:陈华编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302176428
  • 页数:624 页
图书介绍:本书是一本比较全面的Ajax教程书籍,才开发Ajax应用所需要具备的基本能力开始,逐步深入地向读者介绍了JavaScript的基本知识、高级技巧、开发工具的使用、开发框架的介绍、浏览器兼容性的问题、调试技巧、Ajax应用程序的组成、不同的数据组织方式以及开发过程中经常会遇到的问题,并对Ajax应用程序的架构进行了探讨。

第1篇 准备篇 3

第1章 什么是Ajax 3

1.1 Ajax概述 4

1.1.1关键技术:XM.HttpRequest 4

1.1.2 Ajax名词的由来 4

1.2经典案例1:搜索关键词建议系统(Google Suggest) 5

1.3经典案例2:优秀的电子邮件服务系统(Gmail 7

1.3.1注册Gmail 7

1.3.2 Grmail主界面 9

1.3.3 Inbox(收件箱)工作区域 10

1.3.4 Web Clip(网络剪辑) 11

1.3.5邮件操作区域 11

1.3.6操作邮件 12

1.4第一个Ajax应用程序:Hello World! 13

1.5小结 14

第2篇 Ajax技术构成篇 17

第2章JavaScript: Ajax的开发语言 17

2.1 JavaScript概述 18

2.1.1对JavaScript的误解 18

2.1.2 Java5cript的版本 19

2.2数据类型和值 19

2.2.1数字 20

2.2.2字符串 20

2.2.3布尔值 21

2.2.4函数 22

2.2.5对象 23

2.2.6数组 24

2.2.7 null值 24

2.2.8 undefimed值 24

2.3 JavaScript的变量 25

2.3.1变量的类型 25

2.3.2变量的声明 25

2.3.3变量的作用域 26

2.3.4基本类型和引用类型 27

2.4表达式和运算符 28

2.4.1表达式 28

2.4.2算术运算符 28

2.4.3相等运算符 30

2.4.4关系运算符 31

2.4.5赋值运算符 33

2.4.6逻辑运算符 33

2.4.7字符串运算符 34

2.4.8其他运算符 34

2.5语句 34

2.5.1声明变量:var语句 35

2.5.2流程控制:if语句 35

2.5.3流程控制:elseif语句 37

2.5.4流程控制:switch语句 37

2.5.5循环:while语句 39

2.5.6循环:do/while语句 39

2.5.7循环:for语句 40

2.5.8遍历:for/in语句 41

2.5.9控制语句:break语句 41

2.5.10控制语句:continue语句 43

2.5.11函数语句:function语句 44

2.5.12函数返回值:retuun语句 44

2.5.13抛出异常:throw语句 45

2.5.14异常处理:try/catch/finally语句 45

2.5.15空语句 46

2.6 JavaScript的函数 46

2.6.1函数的定义和调用 47

2.6.2实际参数列表:arguments属性的使用 48

2.7大小写敏感性 49

2.8 JavaScript的注释 49

2.9 JavaScript的保留字 50

第3章JavaScript的常用对象 51

3.1保存多个数据元素的容器:Array对象 52

3.1.1数组的创建 52

3.1.2得到数组的长度 52

3.1.3添加、删除和替换数组元素 53

3.1.4得到数组片段 54

3.1.5反转数组 54

3.1.6将数组转换成字符串 54

3.1.7数组元素的排序 55

3.2字符串的处理:String对象 55

3.2.1获取字符串的长度 55

3.2.2字符串的截取 56

3.2.3字符串的替换 56

3.2.4大小写转换 56

3.2.5将字符串转换成数组 57

3.2.6拼接字符串的优化方法 57

3.3正则表达式:RegExp对象 58

3.3.1创建正则表达式 58

3.3.2正则表达式的语法规则 59

3.3.3正则表达式的属性 61

3.3.4用于模式匹配的String方法 62

3.3.5用于模式匹配的RegExp方法 63

3.3.6常用正则表达式 64

3.4日期和时间:Date对象 64

3.4.1 Date对象的创建 65

3.4.2读取和设置日期及时间的各个部分 66

3.4.3日期和时间的换算 69

3.5复杂的数学运算:Math对象 71

3.5.1小数的取整 71

3.5.2得到随机数 71

3.5.3幂运算 72

3.5.4最大值和最小值 72

3.6操作浏览器窗口:window对象 72

3.6.1使用对话框 72

3.6.2.改变窗口状态栏的信息 74

3.6.3延迟执行和定时执行 74

3.6.4 URL的获取和跳转 76

3.6.5历史记录的前进和后退 77

3.6.6控制窗口的大小和位置 81

3.6.7打开和关闭窗口 85

3.6.8获得焦点和失去焦点 88

3.6.9取得用户显示器的信息 88

3.6.10取得用户浏览器的信息 88

3.7操作HTML文档:document对象 89

3.7.1文档的输出 89

3.7.2文档的标题 90

3.7.3文档的图像 91

3.7.4文档的超链接 92

3.7.5文档的表单 93

3.8应用实例 94

3.8.1在网页上显示自动更新的日期和时间 94

3.8.2一个简单的小游戏:Lucky Seven(幸运7) 95

3.9小结 99

第4章DOM文档对象模型介绍 101

4.1基本概念 102

4.1.1树形结构 102

4.1.2结点的类型和组成 103

4.1.3结点之间的关系 103

4.2结点的引用 103

4.2.1根据id属性引用结点 104

4.2.2根据name属性引用结点 105

4.2.3根据标签名引用结点 106

4.2.4引用父结点 107

4.2.5引用子结点 108

4.2.6引用相邻的结点 110

4.3结点的操作 112

4.3.1创建元素结点 112

4.3.2创建文本结点 112

4.3.3添加结点 113

4.3.4插入子结点 116

4.3.5替换子结点 117

4.3.6复制结点 119

4.3.7删除子结点 120

4.3.8读取结点属性 124

4.3.9添加和修改属性结点 124

4.3.10删除属性结点 125

4.4控制元素的样式 125

4.4.1获取和设置元素的css类 125

4.4.2获取和设置元素样式 126

4.5事件处理 129

4.5.1事件模型和传播机制 129

4.5.2注册事件处理程序 130

4.5.3注销事件处理程序 134

4.5.4事件对象 136

4.5.5常用事件 139

4.6应用实例 140

4.6.1悬浮的广告 140

4.6.2可拖动的层 142

4.7小结 144

第5章 开发Ajax应用程序需要使用的工具 145

5.1开发工具:Aptana 146

5.1.1 Aptana的下载和安装 146

5.1.2 Aptana的界面介绍 146

5.1.3 Aptana的使用 148

5.1.4 Aptana的更新 157

5.1.5 Aptana的卸载 157

5.2 Firefox 158

5.2.1错误控制台:Error Console 158

5.2.2优秀的调试插件:Firebug 158

5.3 HTTP调试工具:Fiddler 165

5.3.1 Fiddler的下载和安装 166

5.3.2使用Fiddler 166

5.4小结 167

第3篇 Ajax应用技术分析篇 171

第6章Hello World!分析 171

6.1 XMLHttpRequest对象详解 172

6.1.1初始化请求 172

6.1.2设置请求的HTTP头信息 173

6.1.3发送请求 174

6.1.4获取请求的当前状态 176

6.1.5指定请求状态改变时的事件处理句柄 178

6.1.6返回当前请求的HTTP状态码 178

6.1.7从返回信息中获取指定的HTTP头 179

6.1.8获取返回信息的所有HTTP头 180

6.1.9取得返回的数据 181

6.1.10取消当前请求 183

6.2搭建基本的Ajax开发框架 183

6.2.1创建XMLHttpRequest对象 183

6.2.2发送请求和回调函数 184

6.2.3一个封装好的基本Ajax应用程序开发框架 186

6.3小结 191

第7章 完善的Ajax应用程序:Ajax留言本 193

7.1留言本的需求 194

7.2留言本的基本设计 194

7.2.1系统环境 194

7.2.2留言的数据和操作 194

7.2.3数据库设计 195

7.2.4后台功能模块 195

7.2.5前台脚本功能模块 195

7.2.6系统文件结构和文件清单 196

7.3留言本的实现 196

7.3.1创建数据库 196

7.3.2完成前台界面:index.html 197

7.3.3完成前台界面:样式表 197

7.3.4完成后台功能模块:数据库操作模块 199

7.3.5完成后台功能模块:留言本逻辑处理模块 203

7.3.6完成后台功能模块:接口模块 205

7.3.7完成前台功能模块:基本Ajax功能模块 205

7.3.8完成前台功能模块:读取和发送留言 208

7.3.9整合留言本程序 211

7.4留言本的功能测试 212

7.5小结 214

第8章 调试技巧 215

8.1深入解析Firebug的调试功能 216

8.1.1检查常规错误 216

8.1.2完善的log功能 219

8.1.3控制台的命令行功能 234

8.1.4断点、单步执行和变量信息 236

8.1.5在其他浏览器中使用Firebug的控制台 239

8.1.6屏蔽测试代码 241

8.2使用Aptana的集成调试功能 241

8.2.1配置集成调试环境 241

8.2.2启动调试 242

8.2.3断点、单步执行和变量信息 244

8.2.4使用console.log和dump输出文本信息 246

8.2.5使用aptana.trace输出调用堆栈信息 247

8.2.6使用断言 248

8.2.7屏蔽调试代码 249

8.3小结 250

第9章 常见问题 251

9.1编码的处理 252

9.1.1文件编码与声明编码 252

9.1.2 Ajax请求乱码 253

9.1.3发送数据乱码 254

9.2控制缓存 256

9.3选择合适的请求方式 257

9.4控制多个Ajax请求 258

9.4.1轮询模式 258

9.4.2事件响应模式 259

9.5Ajax请求的安全性 260

9.5.1身份验证 260

9.5.2防范SQL注入 260

9.5.3防范JavaScrypt注入 261

9.6小结 261

第4篇 Ajax应用进阶篇 265

第10章 数据的组织方式:XML 265

10.1 XML概述 266

10.2 XML语法规范 266

10.2.1 XML声明 267

10.2.2根节点 267

10.2.3开始和结束标记 267

10.2.4属性 267

10.2.5合理地嵌套包含 268

10.2.6大小写敏感性 268

10.2.7空白被保留 268

10.2.8 XM的注释 268

10.2.9元素的命名 269

10.2.10转义字符 270

10.2.11 CDATA部件 270

10.3 XML命名空间 271

10.4 XML Schema 272

10.4.1基本示例 273

10.4.2定义元素 276

10.4.3简单类型 276

10.4.4复合类型 278

10.4.5定义属性 279

10.4.6默认值 279

10.4.7约束特殊值 280

10.4.8列表类型 280

10.4.9联合类型 281

10.4.10匿名类型定义 281

10.4.11简单的复合类型 283

10.4.12混合内容 283

10.4.13任意类型 284

10.4.14分组和引用 284

10.4.15 命名冲突 285

10.4.16关联XML与XML Schema 286

10.5 XML DOM 287

10.5.1创建XML DOM对象 287

10.5.2加载XML文档 287

10.5.3加载XML片段 294

10.5.4取得XML内容 296

10.6强大的检索工具:XPath 297

10.6.1基本示例 297

10.6.2选取节点 306

10.6.3谓语 306

10.6.4通配符 307

10.6.5使用多个路径 307

10.6.6坐标轴 307

10.6.7运算符 308

10.6.8路径表达式的步语法 308

10.6.9 XPath函数 309

10.7格式化XML工具:XSL 309

10.7.1基本示例 310

10.7.2 XSL声明 313

10.7.3使用模板 313

10.7.4取得数据 316

10.7.5使用for-each元素代替模板 316

10.7.6使用sort元素进行排序 318

10.7.7流程控制 319

10.7.8创建元素和属性 320

10.7.9指定输出格式 321

10.8在客户端格式化XML 322

10.9跨浏览器的XML开发框架:zXML 326

10.10应用实例:Ajax文章列表程序(XML 341

10.10.1确认需求 341

10.10.2系统设计 341

10.10.3系统实现:创建数据库 343

10.10.4系统实现:完成后台模块 343

10.10.5系统实现:完成前台界面 347

10.10.6系统实现:完成前台模块 351

10.10.7系统实现:编写xsl样式表 357

10.10.8整合系统 358

10.10.9系统测试 359

10.11小结 363

第11章 数据的组织方式:JSON 365

11.1 JSON的语法结构 366

11.1.1 JSON的基本结构 366

11.1.2 JSON中值的类型 367

11.2 JSON的语言支持 369

11.2.1在JavaScript中读取JSON数据 369

11.2.2在JavaScript中输出JSON数据 371

11.2.3在PHP中使用JSON 378

11.2.4在C#中输出JSON数据 380

11.2.5在C#中输出带类型说明的JSON数据 384

11.2.6在C#中读取JSON数据 389

11.2.7更多语言支持 393

11.3 JSON的优点和不足 393

11.3.1 JSON的优点 394

11.3.2 JSON的不足 395

11.4将XML转换为JSON 395

11.5小结 399

第12章JavaScript面向对象编程(OOP) 401

12.1 JavaScript中的类 402

12.1.1创建类 402

12.1.2类的属性 402

12.1.3类的方法 403

12.1.4公有属性和私有属性 403

12.1.5公有方法和私有方法 405

12.1.6静态属性和静态方法 406

12.1.7原型对象prototype 406

12.2 JavaScript中的继承 407

12.2.1对象冒充 407

12.2.2使用对象冒充实现继承 408

12.2.3继承原型对象中的属性和方法 409

12.2.4封装继承方法 410

12.3更多技巧 411

12.3.1属性的封装 411

12.3.2实现多态 412

12.3.3命名空间 413

12.3.4实现短类名 414

12.4使用JSVM进行代码组织 416

12.4.1下载和配置JSVM 416

12.4.2路径和文件名的约定 417

12.4.3编写类 417

12.4.4类的按需加载 418

12.4.5在类中引用其他类 419

12.5小结 420

第13章 跨浏览器的兼容性问题 421

13.1使用getElementById代替idName 422

13.2表单元素的引用问题 423

13.3访问集合对象成员的问题 425

13.4读取自定义属性的问题 426

13.5常量的定义问题 427

13.6 input元素的type属性读写问题 428

13.7模态窗口的问题 429

13.8 frame的操作问题 431

13.9 innerText的问题 433

13.10对父元素的引用问题 436

13.11 getElementsByName的问题 436

13.12 outerText的问题 438

13.13 outerHTML的问题 440

13.14小结 442

第14章Prototype.js框架介绍 443

14.1 Prototype js常用方法介绍 444

14.1.1使用$方法代替document.getElementByld 444

14.1.2使用$$方法获得元素引用 444

14.1.3根据css类名取得元素集合 444

14.1.4使用Try.these尝试运行多个函数 446

14.1.5使用$F方法来获得表单元素的值 446

14.1.6数组迭代的简化方法 447

14.1.7设置元素的样式 447

14.1.8切换元素的隐现状态 448

14.1.9序列化表单值 449

14.1.10转换HTML标签 451

14.2基于Prototypejs的类和继承 452

14.2.1使用Class.create()创建类 452

14.2.2 Prototype js中的继承 453

14.3 Prototype js中的事件处理 454

14.3.1注册事件处理函数 454

14.3.2注销事件处理函数 455

14.4 Prototypejs的Ajax功能 456

14.4.1 Ajax.Request方法详解 457

14.4.2用Ajax.Updater更新界面 459

14.4.3用Ajax.PeriodicalUpdater定时更新界面 460

14.4.4使用Form.request方法无刷新提交表单 460

14.5基于Prototype.js的留言本程序 462

14.6小结 465

第15章 关于架构的思考 467

15.1 REST架构模式 468

15.2 Web应用程序的发展史 468

15.2.1提供静态文档的Web站点 469

15.2.2早期的动态Web应用程序 469

15.2.3融入式Web应用程序 470

15.3 Ajax为REST带来新的契机 470

15.3.1缓存Ajax程序引擎 471

15.3.2缓存Ajax数据 471

15.4小结 471

第16章Ajax的缺陷及补救 473

16.1搜索引擎的收录问题 474

16.1.1问题产生的原因 474

16.1.2解决办法 474

16.2前进和后退的问题 483

16.2.1问题产生的原因 483

16.2.2 Firefox下的解决办法 483

16.2.3在lE下的解决办法 489

16.3小结 495

第5篇 Ajax实战篇 499

第17章 Ajax高级表单验证程序 499

17.1确定需求 500

17.2基本设计 500

17.3代码实现 501

17.3.1实现EventManager类 501

17.3.2实现Request类 503

17.3.3实现Validator类 506

17.3.4实现FormItemValidator类 510

17.3.5实现FormValidator类 514

17.4测试 517

第18章Ajax动态联动菜单 523

18.1确定需求 524

18.2基本设计 524

18.3实例代码 524

18.4测试 528

第19章Ajax聊天室 535

19.1确定需求 536

19.2基本设计 536

19.2.1系统结构 536

19.2.2实体及数据库设计 537

19.2.3后台功能模块 537

19.2.4请求控制器 537

19.2.5前台界面 537

19.2.6前台功能模块 538

19.3实例代码 539

19.3.1建立数据库 539

19.3.2实现后台功能模块 540

19.3.3请求控制器 547

19.3.4界面HTM.和CSS代码 548

19.3.5前台功能模块 551

19.3.6加入表情图标 564

19.3.7整合程序 565

19.4测试 567

附录A JavaScript速查手册 571

附录B HTML DOM速查手册 589

附录C Prototype速查手册 608