https://www.easy-mock.com/docs
[TOC]
## 1.什么是Ajax
Asynchronous JavaScript and XML
(异步的JavaScript 和XML)
- Ajax不是某种编程语言
是一种在无需重新加载整个网页的情况下,能够局部更新网页的技术
## 2.同步和异步
### 2.1 同步
![](https://box.kancloud.cn/06659aadacf4877904e9d3f5e73fcf8f_690x300.png)
![](https://box.kancloud.cn/1a40bb8441808151d85ffce7ebd4dfd3_631x378.png)
等待五分钟后
![](https://box.kancloud.cn/b643b31ea92b99e4d6c20da4ecd4d904_689x382.png)
![](https://box.kancloud.cn/fa1c1c61501928de34cf6b44be9318b7_670x402.png)
提交之后再等待五分钟
![](https://box.kancloud.cn/ff9265738459301d997bd8ca0abea610_674x325.png)
![](https://box.kancloud.cn/08b854218a79d1a4a50f5a66f8b6c06d_713x323.png)
![](https://box.kancloud.cn/c210a5275c653fc771c9a0f93d9c1480_711x385.png)
这就是ajax出来之前的真实场景,填写表单就是噩梦。
![](https://box.kancloud.cn/06659aadacf4877904e9d3f5e73fcf8f_690x300.png)
>客户端向服务器请求数据的过程中,用户除了等待还是等待。
### 客户端在等待服务器端响应的过程中,不能做任何事情,这就是同步
### 2.2异步
![](https://box.kancloud.cn/e39f15639aa74a8865d24de0d63f51b2_651x365.png)
![](https://box.kancloud.cn/d062b6fa535f32a8d7567e60ae99938a_689x308.png)
当填写到邮箱地址
![](https://box.kancloud.cn/a5d03ed713ce605f910a6ff7cd9a0ddd_648x339.png)
异步:客户端发起请求,在服务器端响应的过程中,可以进行其他的操作
所有的现代浏览器,都支持Ajax,IE6以下不支持
![](https://box.kancloud.cn/c8fbcff90e300fa4fb39cf6058541776_753x283.jpg)
![](https://box.kancloud.cn/cf8b6c0b0950db2a5241ebd3d3b5496e_597x314.png)
## 3.JSON数据
![](https://box.kancloud.cn/2d9347c058312f8c661d76b70b32a019_726x318.png)
![](https://box.kancloud.cn/7a431860cea3b5ebcbc4f23bd4ff10e5_704x375.png)
JSON的解析
使用JSON.parse()
## 4.如何使用ajax
A.HTML和CSS实现页面
B.Ajax和Web服务器进行数据的异步交换
C.运用JS操作DOM实现动态的局部刷新
### 4.1创建Ajax核心对象
![](https://box.kancloud.cn/cf8b6c0b0950db2a5241ebd3d3b5496e_597x314.png)
## 3.JSON数据
![](https://box.kancloud.cn/2d9347c058312f8c661d76b70b32a019_726x318.png)
![](https://box.kancloud.cn/7a431860cea3b5ebcbc4f23bd4ff10e5_704x375.png)
JSON的解析
使用JSON.parse()
## 4.如何使用ajax
A.HTML和CSS实现页面
B.Ajax和Web服务器进行数据的异步交换
C.运用JS操作DOM实现动态的局部刷新
### 4.1创建Ajax核心对象
~~~
var xhr = new XMLHttpRequest();
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest;
}else {
//ie6
xhr = new ActiveXOject("Microsoft.XMLHTTP")
}
~~~