Ajax从入门到精通

出版时间:2008-9  出版社:陈华 清华大学出版社 (2008-09出版)  作者:陈华  页数:624  

前言

随着Web应用的不断深入,用户对Web应用程序提出了更高的要求。在这种情况下,Ajax技术应运而生,并引领了一阵Web 2.0的风潮。Ajax技术本身并不是新的技术,而是对已有的成熟技术的整合应用,并提出了Web开发的新思路。当前Ajax技术已经得到广泛的应用,并被用户所推崇,这也对Web开发工作者提出了更高的要求。掌握Ajax风格的Web应用程序开发技术成为每一个Web开发工作者的当务之急。Ajax的核心技术由XMLHttpRequest、JavaScript、XML、HTML及CSS等组成。本书假定读者已经具备一定基础的HTML和CSS技能,着重向读者介绍JavaScript的基础知识和高级技巧、XMLHttpRequest对象的使用、数据的组织(XML和JSON)、Ajax开发模式、常见问题及解决方案以及最流行的Ajax开发框架等内容,涵盖了Ajax技术从入门到精通需要的大部分知识。

内容概要

  《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章 什么是Ajax1.1 Ajax概述1.1.1 关键技术:XMLHttpRequest1.1.2 Ajax名词的由来1.2 经典案例1:搜索关键词建议系统(Google Suggest)1.3 经典案例2:优秀的电子邮件服务系统(Gmail)1.3.1 注册Gmail1.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 开发工具:Aptana5.1.1 Aptana的下载和安装5.1.2 Aptana的界面介绍5.1.3 Aptana的使用5.1.4 Aptana的更新5.1.5 Aptana的卸载5.2 Firefox5.2.1 错误控制台:Error Console5.2.2 优秀的调试插件:Firebug5.3 HTTP调试工具:Fiddler5.3.1 Fiddler的下载和安装5.3.2 使用Fiddler5.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.html7.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章 数据的组织方式:XML10.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 Schema10.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 Schema10.5 XML DOM10.5.1 创建XML DOM对象10.5.2 加载XML文档10.5.3 加载XML片段10.5.4 取得XML内容10.6 强大的检索工具:XPath10.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工具:XSL10.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 在客户端格式化XML10.9 跨浏览器的XML开发框架:zXML10.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章 数据的组织方式:JSON11.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中使用JSON11.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转换为JSON11.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 原型对象prototype12.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 下载和配置JSVM12.4.2 路径和文件名的约定12.4.3 编写类12.4.4 类的按需加载12.4.5 在类中引用其他类12.5 小结第13章 跨浏览器的兼容性问题13.1 使用getElementById代替idName13.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.getElementById14.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应用程序15.3 Ajax为REST带来新的契机15.3.1 缓存Ajax程序引擎15.3.2 缓存Ajax数据15.4 小结第16章 Ajax的缺陷及补救16.1 搜索引擎的收录问题16.1.1 问题产生的原因16.1.2 解决办法16.2 前进和后退的问题16.2.1 问题产生的原因16.2.2 Firefox下的解决办法16.2.3 在IE下的解决办法16.3 小结第5篇 Ajax实战篇第17章 Ajax高级表单验证程序17.1 确定需求17.2 基本设计17.3 代码实现17.3.1 实现EventManager类17.3.2 实现Request类17.3.3 实现Validator类17.3.4 实现FormItemValidator类17.3.5 实现FormValidator类17.4 测试第18章 Ajax动态联动菜单18.1 确定需求18.2 基本设计18.3 实例代码18.4 测试第19章 Ajax聊天室19.1 确定需求19.2 基本设计19.2.1 系统结构19.2.2 实体及数据库设计19.2.3 后台功能模块19.2.4 请求控制器19.2.5 前台界面19.2.6 前台功能模块19.3 实例代码19.3.1 建立数据库19.3.2 实现后台功能模块19.3.3 请求控制器19.3.4 界面HTML和CSS代码19.3.5 前台功能模块19.3.6 加入表情图标19.3.7 整合程序19.4 测试附录A JavaScript速查手册附录B HTML DOM速查手册附录C Prototype速查手册

章节摘录

插图:

编辑推荐

《Ajax从入门到精通》讲解Ajax的原理、开发、调试、跨浏览器兼容等高级技术用、JavaScrlpl实现最流行的Ajax框架和组件、解读最经典的JavaScript框架Prototype.js、详细介绍Web开发技术的优化、分析、lavaScript的面向对象编程和Aja×的数据形式、JSON、配有源代码光盘,提高学习效率。

图书封面

评论、评分、阅读与下载


    Ajax从入门到精通 PDF格式下载


用户评论 (总计3条)

 
 

  •   首先是送货时间很慢,然后是盗版书,根本就没有清华大学出版社的防伪标志,印刷质量非常差!!!!!!
  •   感觉还行吧,只有一点不足,那就是只配PHP的……
  •   书的质量很差,好像还是二手的!封面摩擦很多!!!!!我那个。。。郁闷。鄙视卓越!!!!!!!!
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7