一,Ajax概述
- AJAX: asynchronous javascript and xml –> 异步的js和xml
- 能使用js异步访问服务器(如果不使用AJAX,一般情况js只能是在客户端使用)
- 服务器给客户端的响应,一般是整个页面,就是一个html完整页面,但在Ajax中因为是局部刷新,那么服务器就不用再响应整个页面,而只是数据.
- 返回的数据格式:
- text:纯文本,无固定格式,解析起来麻烦,很少用
- xml:ajax前期大量数据基本都用这个
- json:是js提供的数据交换格式(JavaScript Object Notation),现在基本都用这个
二,异步交互和同步交互
- 同步:
- 发一个请求后,就要等待服务器的响应结束,然后才能发第二个请求.中间这段时间,就是在等待.(卡住了)
- 刷新的是整个页面.
- 可以想象成浏览器进度条一点点前进的那段时间,就是在等.
- 异步:
- 发一个请求后,无需等待服务器响应,就可以继续发第二个请求.
- 可以使用js来接收服务器的响应,然后使用js来局部刷新,(比如通过id属性找到对应的标签,更改标签的内容)
三,Ajax常见应用场景
示例
在百度页面,当输入英文时,下面的提示栏就会提示出部分搜索提示.
这就是一个Ajax的使用场景,当输入时,每次输入,都会向后台发送一次请求,后台响应的数据会局部刷新到页面中.
即使某次输入,请求发送后没有得到响应,也不妨碍继续输入内容.
四,Ajax的优缺点
- 优点:
- 异步交互,增强了用户的体验.
- 性能:因为服务器无需再响应整个页面,只需要响应部分数据,所以服务器的压力减轻了.
- 缺点:
- Ajax不能应用在所有场景.
- Ajax增多了对服务器的访问次数,给服务器带来了压力.