编辑推荐
《Ajax从入门到精通》讲解Ajax的原理、开发、调试、跨浏览器兼容等高级技术用、JavaScrlpl实现最流行的Ajax框架和组件、解读最经典的JavaScript框架Prototype.js、详细介绍Web开发技术的优化、分析、lavaScript的面向对象编程和Aja×的数据形式、JSON、配有源代码光盘,提高学习效率。
内容简介
《Ajax从入门到精通》从开发Ajax应用所需要具备的基本能力开始,逐步深入地向读者介绍JavaScript的基本知识、高级技巧、开发工具的使用、开发框架的介绍、浏览器兼容性的问题、调试技巧、Ajax应用程序的组成、不同的数据组织方式,以及开发过程中经常会遇到的问题,并对Ajax应用程序的架构进行了探讨,是一本全面的、适合各种水平层次的读者阅读和学习的教程。
《Ajax从入门到精通》作为比较全面的Ajax教程书籍,涵盖了基本语言介绍(JavaScript)、DHTML技术(DOM)、Ajax技术核心知识、面向对象的JavaScript、数据组织方式(XML和JSON)等知识,并对开发工具和调试技巧以及流行的应用框架进行了介绍。尤其是《Ajax从入门到精通》的第10-15章,介绍了Ajax的高级技术,包括对XML和JSON的深入介绍,以及对Ajax应用程序架构的探讨、JavaScript面向对象编程的技巧等。
《Ajax从入门到精通》对于PHP、ASP、Java、.NET程序员有很大的帮助,同时适合Web前端开发人员、Web性能检测人员、需要掌握Ajax技术的测试人员、Web架构师、学习Web高级技术的初级程序员以及所有的Web普通开发人员作为必备参考用书使用。
内页插图
目录
第1篇 准备篇
第1章 什么是Ajax
1.1 Ajax概述
1.1.1 关键技术:XMLHttpRequest
1.1.2 Ajax名词的由来
1.2 经典案例1:搜索关键词建议系统(Google Suggest)
1.3 经典案例2:优秀的电子邮件服务系统(Gmail)
1.3.1 注册Gmail
1.3.2 Gmail主界面
1.3.3 Inbox(收件箱)工作区域
1.3.4 Web Clip(网络剪辑)
1.3.5 邮件操作区域
1.3.6 操作邮件
1.4 第一个Ajax应用程序:
Hello World!
1.5 小结
第2篇 Ajax技术构成篇
第2章 JavaScript:Ajax的开发语言
2.1 JavaScript概述
2.1.1 对JavaScript的误解
2.1.2 JavaScript的版本
2.2 数据类型和值
2.2.1 数字
2.2.2 字符串
2.2.3 布尔值
2.2.4 函数
2.2.5 对象
2.2.6 数组
2.2.7 null值
2.2.8 undefined值
2.3 JavaScript的变量
2.3.1 变量的类型
2.3.2 变量的声明
2.3.3 变量的作用域
2.3.4 基本类型和引用类型
2.4 表达式和运算符
2.4.1 表达式
2.4.2 算术运算符
2.4.3 相等运算符
2.4.4 关系运算符
2.4.5 赋值运算符
2.4.6 逻辑运算符
2.4.7 字符串运算符
2.4.8 其他运算符
2.5 语句
2.5.1 声明变量:var语句
2.5.2 流程控制:if语句
2.5.3 流程控制:else if语句
2.5.4 流程控制:switch语句
2.5.5 循环:while语句
2.5.6 循环:do/while语句
2.5.7 循环:for语句
2.5.8 遍历:for/in语句
2.5.9 控制语句:break语句
2.5.10 控制语句:continue语句
2.5.11 函数语句:function语句
2.5.12 函数返回值:return语句
2.5.13 抛出异常:throw语句
2.5.14 异常处理:try/catch/finally语句
2.5.15 空语句
2.6 JavaScript的函数
2.6.1 函数的定义和调用
2.6.2 实际参数列表:arguments属性的使用
2.7 大小写敏感性
2.8 JavaScript的注释
2.9 JavaScript的保留字
第3章 JavaScript的常用对象
3.1 保存多个数据元素的容器:Array对象
3.1.1 数组的创建
3.1.2 得到数组的长度
3.1.3 添加、删除和替换数组元素
3.1.4 得到数组片段
3.1.5 反转数组
3.1.6 将数组转换成字符串
3.1.7 数组元素的排序
3.2 字符串的处理:String对象
3.2.1 获取字符串的长度
3.2.2 字符串的截取
3.2.3 字符串的替换
3.2.4 大小写转换
3.2.5 将字符串转换成数组
3.2.6 拼接字符串的优化方法
3.3 正则表达式:RegExp对象
3.3.1 创建正则表达式
3.3.2 正则表达式的语法规则
3.3.3 正则表达式的属性
3.3.4 用于模式匹配的String方法
3.3.5 用于模式匹配的RegExp方法
3.3.6 常用正则表达式
3.4 日期和时间:Date对象
3.4.1 Date对象的创建
3.4.2 读取和设置日期及时间的各个部分
3.4.3 日期和时间的换算
3.5 复杂的数学运算:Math对象
3.5.1 小数的取整
3.5.2 得到随机数
3.5.3 幂运算
3.5.4 最大值和最小值
3.6 操作浏览器窗口:window对象
3.6.1 使用对话框
3.6.2 改变窗口状态栏的信息
3.6.3 延迟执行和定时执行
3.6.4 URL的获取和跳转
3.6.5 历史记录的前进和后退
3.6.6 控制窗口的大小和位置
3.6.7 打开和关闭窗口
3.6.8 获得焦点和失去焦点
3.6.9 取得用户显示器的信息
3.6.10 取得用户浏览器的信息
3.7 操作HTML文档:document对象
3.7.1 文档的输出
3.7.2 文档的标题
3.7.3 文档的图像
3.7.4 文档的超链接
3.7.5 文档的表单
3.8 应用实例
3.8.1 在网页上显示自动更新的日期和
时间
3.8.2 一个简单的小游戏:Lucky Seven(幸运7)
3.9 小结
第4章 DOM文档对象模型介绍
4.1 基本概念
4.1.1 树形结构
4.1.2 结点的类型和组成
4.1.3 结点之间的关系
4.2 结点的引用
4.2.1 根据id属性引用结点
4.2.2 根据name属性引用结点
4.2.3 根据标签名引用结点
4.2.4 引用父结点
4.2.5 引用子结点
4.2.6 引用相邻的结点
4.3 结点的操作
4.3.1 创建元素结点
4.3.2 创建文本结点
4.3.3 添加结点
4.3.4 插入子结点
4.3.5 替换子结点
4.3.6 复制结点
4.3.7 删除子结点
4.3.8 读取结点属性
4.3.9 添加和修改属性结点
4.3.10 删除属性结点
4.4 控制元素的样式
4.4.1 获取和设置元素的css类
4.4.2 获取和设置元素样式
4.5 事件处理
4.5.1 事件模型和传播机制
4.5.2 注册事件处理程序
4.5.3 注销事件处理程序
4.5.4 事件对象
4.5.5 常用事件
4.6 应用实例
4.6.1 悬浮的广告
4.6.2 可拖动的层
4.7 小结
第5章 开发Ajax应用程序需要使用的工具
5.1 开发工具:Aptana
5.1.1 Aptana的下载和安装
5.1.2 Aptana的界面介绍
5.1.3 Aptana的使用
5.1.4 Aptana的更新
5.1.5 Aptana的卸载
5.2 Firefox
5.2.1 错误控制台:Error Console
5.2.2 优秀的调试插件:Firebug
5.3 HTTP调试工具:Fiddler
5.3.1 Fiddler的下载和安装
5.3.2 使用Fiddler
5.4 小结
第3篇 Ajax应用技术分析篇
第6章 Hello World!分析
6.1 XMLHttpRequest对象详解
6.1.1 初始化请求
6.1.2 设置请求的HTTP头信息
6.1.3 发送请求
6.1.4 获取请求的当前状态
6.1.5 指定请求状态改变时的事件处理句柄
6.1.6 返回当前请求的HTTP状态码
6.1.7 从返回信息中获取指定的HTTP头
6.1.8 获取返回信息的所有HTTP头
6.1.9 取得返回的数据
6.1.10 取消当前请求
6.2 搭建基本的Ajax开发框架
6.2.1 创建XMLHttpRequest对象
6.2.2 发送请求和回调函数
6.2.3 一个封装好的基本Ajax应用程序开发框架
6.3 小结
第7章 完善的Ajax应用程序:Ajax留言本
7.1 留言本的需求
7.2 留言本的基本设计
7.2.1 系统环境
7.2.2 留言的数据和操作
7.2.3 数据库设计
7.2.4 后台功能模块
7.2.5 前台脚本功能模块
7.2.6 系统文件结构和文件清单
7.3 留言本的实现
7.3.1 创建数据库
7.3.2 完成前台界面:index.html
7.3.3 完成前台界面:样式表
7.3.4 完成后台功能模块:数据库操作模块
7.3.5 完成后台功能模块:留言本逻辑处理模块
7.3.6 完成后台功能模块:接口模块
7.3.7 完成前台功能模块:基本Ajax功能模块
7.3.8 完成前台功能模块:读取和发送留言
7.3.9 整合留言本程序
7.4 留言本的功能测试
7.5 小结
第8章 调试技巧
8.1 深入解析Firebug的调试功能
8.1.1 检查常规错误
8.1.2 完善的log功能
8.1.3 控制台的命令行功能
8.1.4 断点、单步执行和变量信息
8.1.5 在其他浏览器中使用Firebug的控制台
8.1.6 屏蔽测试代码
8.2 使用Aptana的集成调试功能
8.2.1 配置集成调试环境
8.2.2 启动调试
8.2.3 断点、单步执行和变量信息
8.2.4 使用console.log和dump输出文本信息
8.2.5 使用aptana.trace输出调用堆栈信息
8.2.6 使用断言
8.2.7 屏蔽调试代码
8.3 小结
第9章 常见问题
9.1 编码的处理
9.1.1 文件编码与声明编码
9.1.2 Ajax请求乱码
9.1.3 发送数据乱码
9.2 控制缓存
9.3 选择合适的请求方式
9.4 控制多个Ajax请求
9.4.1 轮询模式
9.4.2 事件响应模式
9.5 Ajax请求的安全性
9.5.1 身份验证
9.5.2 防范SQL注入
9.5.3 防范JavaScript注入
9.6 小结
第4篇 Ajax应用进阶篇
第10章 数据的组织方式:XML
10.1 XML概述
10.2 XML语法规范
10.2.1 XML声明
10.2.2 根节点
10.2.3 开始和结束标记
10.2.4 属性
10.2.5 合理地嵌套包含
10.2.6 大小写敏感性
10.2.7 空白被保留
10.2.8 XML的注释
10.2.9 元素的命名
10.2.10 转义字符
10.2.11 CDATA部件
10.3 XML命名空间
10.4 XML Schema
10.4.1 基本示例
10.4.2 定义元素
10.4.3 简单类型
10.4.4 复合类型
10.4.5 定义属性
10.4.6 默认值
10.4.7 约束特殊值
10.4.8 列表类型
10.4.9 联合类型
10.4.10 匿名类型定义
10.4.11 简单的复合类型
10.4.12 混合内容
10.4.13 任意类型
10.4.14 分组和引用
10.4.15 命名冲突
10.4.16 关联XML与XML Schema
10.5 XML DOM
10.5.1 创建XML DOM对象
10.5.2 加载XML文档
10.5.3 加载XML片段
10.5.4 取得XML内容
10.6 强大的检索工具:XPath
10.6.1 基本示例
10.6.2 选取节点
10.6.3 谓语
10.6.4 通配符
10.6.5 使用多个路径
10.6.6 坐标轴
10.6.7 运算符
10.6.8 路径表达式的步语法
10.6.9 XPath函数
10.7 格式化XML工具:XSL
10.7.1 基本示例
10.7.2 XSL声明
10.7.3 使用模板
10.7.4 取得数据
10.7.5 使用for-each元素代替模板
10.7.6 使用sort元素进行排序
10.7.7 流程控制
10.7.8 创建元素和属性
10.7.9 指定输出格式
10.8 在客户端格式化XML
10.9 跨浏览器的XML开发框架:zXML
10.10 应用实例:Ajax文章列表程序(XML)
10.10.1 确认需求
10.10.2 系统设计
10.10.3 系统实现:创建数据库
10.10.4 系统实现:完成后台模块
10.10.5 系统实现:完成前台界面
10.10.6 系统实现:完成前台模块
10.10.7 系统实现:编写xsl样式表
10.10.8 整合系统
10.10.9 系统测试
10.11 小结
第11章 数据的组织方式:JSON
11.1 JSON的语法结构
11.1.1 JSON的基本结构
11.1.2 JSON中值的类型
11.2 JSON的语言支持
11.2.1 在JavaScript中读取JSON数据
11.2.2 在JavaScript中输出JSON 数据
11.2.3 在PHP中使用JSON
11.2.4 在C#中输出JSON数据
11.2.5 在C#中输出带类型说明的JSON数据
11.2.6 在C#中读取JSON数据
11.2.7 更多语言支持
11.3 JSON的优点和不足
11.3.1 JSON的优点
11.3.2 JSON的不足
11.4 将XML转换为JSON
11.5 小结
第12章 JavaScript面向对象编程(OOP)
12.1 JavaScript中的类
12.1.1 创建类
12.1.2 类的属性
12.1.3 类的方法
12.1.4 公有属性和私有属性
12.1.5 公有方法和私有方法
12.1.6 静态属性和静态方法
12.1.7 原型对象prototype
12.2 JavaScript中的继承
12.2.1 对象冒充
12.2.2 使用对象冒充实现继承
12.2.3 继承原型对象中的属性和方法
12.2.4 封装继承方法
12.3 更多技巧
12.3.1 属性的封装
12.3.2 实现多态
12.3.3 命名空间
12.3.4 实现短类名
12.4 使用JSVM进行代码组织
12.4.1 下载和配置JSVM
12.4.2 路径和文件名的约定
12.4.3 编写类
12.4.4 类的按需加载
12.4.5 在类中引用其他类
12.5 小结
第13章 跨浏览器的兼容性问题
13.1 使用getElementById代替idName
13.2 表单元素的引用问题
13.3 访问集合对象成员的问题
13.4 读取自定义属性的问题
13.5 常量的定义问题
13.6 input元素的type属性读写问题
13.7 模态窗口的问题
13.8 frame的操作问题
13.9 innerText的问题
13.10 对父元素的引用问题
13.11 getElementsByName的问题
13.12 outerText的问题
13.13 outerHTML的问题
13.14 小结
第14章 Prototype.js框架介绍
14.1 Prototype.js常用方法介绍
14.1.1 使用$方法代替document.getElementById
14.1.2 使用$$方法获得元素引用
14.1.3 根据css类名取得元素集合
14.1.4 使用Try.these尝试运行多个函数
14.1.5 使用$F方法来获得表单元素的值
14.1.6 数组迭代的简化方法
14.1.7 设置元素的样式
14.1.8 切换元素的隐现状态
14.1.9 序列化表单值
14.1.10 转换HTML标签
14.2 基于Prototype.js的类和继承
14.2.1 使用Class.create()创建类
14.2.2 Prototype.js中的继承
14.3 Prototype.js中的事件处理
14.3.1 注册事件处理函数
14.3.2 注销事件处理函数
14.4 Prototype.js的Ajax功能
14.4.1 Ajax.Request方法详解
14.4.2 用Ajax.Updater更新界面
14.4.3 用Ajax. PeriodicalUpdater定时更新界面
14.4.4 使用Form.request方法无刷新提交表单
14.5 基于Prototype.js的留言本程序
14.6 小结
第15章 关于架构的思考
15.1 REST架构模式
15.2 Web应用程序的发展史
15.2.1 提供静态文档的Web站点
15.2.2 早期的动态Web应用程序
15.2.3 融入式Web应用
网站开发非常之旅:Ajax从入门到精通(附光盘) 电子书 下载 mobi epub pdf txt