即 Asynchronous Javascript And XML
AJAX 不是一门的新的语言,而是对现有持术的综合利用
本质是在HTTP协议的基础上通过异步的方式与服务器进行通信
异步
指某段程序执行时不会阻塞其它程序执行,其表现形式为程序的执行顺序不依赖程序本身的书写顺序,相反则为同步
现实生活中的一个例子
打电话时同步 发消息是异步
XMLHttpRequest
a)Ajax基础实例
HTTP请求3个部分组成
请求行
请求头
请求主体
HTTP响应是由服务端做出的,作为客户端更应关心的是响应的结果,其结果是状态行、响应头、响应主体构成
监听服务端响应
获取状态行
获取响应头
响应主体
我们需要检测并判断响应头的MIME类型后确定使用request.responseText或者request.responseXML
GET和POST请求方式的差异
GET没有请求主体,使用request.send(null)
GET可以通过在请求URL上添加请求参数
POST可以通过request.send('name=itcast&age=10')
POST需要设置
问题?如何获取复杂数据呢
XML
XML是一种标记语言,很类似HTML,其宗旨是用来传输数据,具有自我描述性。
a)标准XML文档
必须有一个根元素
不可有空格、不可以数字或.开头、大小写敏感
不可交叉嵌套
属性双引号
特殊符号要使用实体
注释和HTML一样
b) XML验证 (DTD)
示例
JSON
即 JavaScript Object Notation,另一种轻量级的文本数据交换格式
独立于语言
语法规则
数据在名称/值对中
数据由逗号分隔
花括号保存对象方括号保存数组
使用双引号
JSON解析
eavl()、JSON对象 JSON.parse()、JSON.stringify()
归纳总结XML和JSON的差异以及优缺点
兼容性
IE5、IE6中使用 ActiveObject("Microsoft.XMLHTTP")
如下图
封装Ajax工具函数