Ajax并不是新的技术,而是之前技术的整合,其中包括JavaScript、HTML、CSS、DOM、XMLHttpRequest、XML和JSON是构成Ajax技术体系技术基石。

JavaScript:JavaScript是一种弱类型、解释性的、通用的脚本语言,在Ajax技术体系中,它将各个部分粘合在一起。JavaScript定义业务逻辑、操作DOM改变和刷新用户界面、重绘或重组织用户数据、处理用户交互等。

HTML:HTML定义了文档的结构,定义了元素之间的包含关系,也定义了文档中可以应用样式的位置。

CSS:CSS为Web页面元素提供了一种可重用的、可视化样式的定义方法来定义应用的外观。样式表提供了集中定义各种视觉央视的方法并方便地设置到页面元素上。样式表可定义样式元素、定义元素相互之间的布局以及简单的用户交互功能以实现视觉效果。

DOM:DOM组织网页视图,以一组可以使用JavaScript操作的可编程对象展现出Web页面的结构。通过使用脚本修改DOM在运行时改变用户界面,或重绘页面的某个部分。Web页面的DOM是树状结构,JavaScript引擎通过全局变量document公开当前Web页面的根节点,这个变量是所有DOM操作的起点。DOM文档与HTML表单的关系是双向的,修改DOM将会改变HTML标记。

XMLHttpRequest:使用XMLHttpRequest以异步的方式与服务器通信。它以后台方式获取数据,是的发生异步调用的业务更加流畅。数据格式通常是XML(目前来看,使用JSON作为数据格式会更加方便,在本书后面的章节会详细介绍JSON,但是目前为大家介绍的是AJAX)。

XML和JSON:XML,可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。通过此种标记,计算机之间可以处理各种信息。他可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,它非常适合万维网传输,提供统一的方法来描述和交换独立与应用程序或供应商的结构化数据。

但是XML文件相对庞大,格式复杂,传输占用大量的带宽,而且服务器端和客户端都需要花费大量代码来解析XML,使两端的代码变得复杂并不容易维护,并且不同的浏览器解析XML文件的方式也不尽相同,需要重复编写很多代码。而且服务器端和客户端解析XML也需要花费大量的资源和时间。

那么除了使用XML作为数据交换格式,现在还可以使用一种叫做JSON(JavaScript Object Notation)的轻量级数据交换格式,并且JSON已经成为了主流(现在AJAX似乎更适合叫做AJAJ,Asynchronous JavaScript And JSON)。

JSON数据格式比较简单,易于读写,格式都是压缩的,占用带宽较小。JSON格式能够直接为服务端和客户端代码使用,大大简化了服务端和客户端的代码开发量,且易于维护。

最新文章

  1. struts原理
  2. [Android Pro] 关于Android的HTTP客户端的小秘密
  3. Redis-统计活跃用户
  4. tomcat 常见错误
  5. Centos安装编译环境
  6. hdu 1542 Atlantis 段树区,并寻求,,,尼玛真坑人数据,不要打开一小阵!
  7. hdu 5514 Frogs(容斥)
  8. 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63
  9. SPOJ-LCS Longest Common Substring 【后缀自动机】
  10. neo4j通过LOAD CSV导入结点和关系
  11. CreateDialog和DialogBox
  12. 记录网件r6220路由器登录配置
  13. 优秀的第二外语学习网站:Lang-8
  14. 03 Maven 坐标与依赖
  15. POJ2195:Going Home(费用流入门)
  16. C++模板类内友元(友元函数,友元类)声明的三种情况
  17. docker化安装grafana
  18. C#属性和字段区别、get与set用法
  19. Hadoop Intro - Configure
  20. 常用的MySQL语句写法

热门文章

  1. C#winform的datagridview设置选中行
  2. packstack快速安装
  3. Android中m、mm、mmm、mma、mmma的区别
  4. React Native 微信分享闪退的解决办法
  5. OpenGL几何变换---翻译http://www.songho.ca/opengl/gl_projectionmatrix.html
  6. 如何识别真Microsoft服务与非Microsoft服务来定位病毒自己的服务
  7. jQuery+CSS3实现弯曲文字路径
  8. L83
  9. leetcode 110 Balanced Binary Tree(DFS)
  10. linux 进程学习笔记-消息队列messagequeue