1.什么是Ajax?
Asynchronous Javascript And XML:异步的Javascript和XML。即使用Javascript语言和服务器进行异步交互,Ajax还有一个最大的特点就是,当服务器响应时,不用刷新整个浏览器页面,而是可以局部刷新。
2.同步交互和异步交互
同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
异步交互:客户端发出一个请求后,无需等待服务器响应结束,就能发出第二个请求;
3.Ajax常见应用场景
百度的搜索框,用户注册时(校验用户名是否被注册过),微博的实时更新评论等。
4.Ajax的优缺点
优点:
- Ajax使用Javascript技术向服务器发送异步请求;
- Ajax无须刷新整个页面;
- 因为服务器响应内容不再是整个页面,而是页面中的局部,所以Ajax性能高;
缺点:
- Ajax并不适合所有场景,很多时候还是要使用同步交互;
- Ajax虽然提高了用户体验,但无形中向服务器发送的请求次数增多了,导致服务器压力增大;
- 因为Ajax是在浏览器中使用Javascript技术完成的,所以还需要处理浏览器兼容性问题;
5.Ajax的工作原理
通过XMLHttpRequest对象向服务器发送异步请求,从服务器获得数据,然后用Javascript操作DOM来刷新页面。
6.Ajax发送异步请求(四步操作)
Ajax的核心是XMLHttpRequest对象,所有的异步交互都是使用XMLHttpRequest对象完成的。
6.1.第一步:创建异步对象(XMLHttpRequest对象)
各个浏览器对XMLHttpRequest的支持是不同的!为了处理浏览器兼容问题,给出下面的方法来创建XMLHttpRequest对象:
//1.创建异步对象(XMLHttpRequest对象)
function createXMLHttpRequest() {
try {
// 适用于大多数浏览器ÿ