1.AJAX简介
AJAX,全名Asynchronous JavaScript + XML(异步JavaScript和XML),由Jess James Garrett在2005年提出。它是一种把JavaScript、CSS、DOM和(X)HTML结合起来的新用法。
它的实质是在客户端和服务端之间建立一个中转站(即XMLHttpRequest对象)。
客户端先把请求发给这个中转站,中转站再将请求发给服务器。同理,服务器先把响应发给中转站,再由中转站将响应发给客户端。
那为什么要有这个中转站?让我们来看一下mdn上对ajax的功能阐述
The two major features of AJAX allow you to do the following:
- Make requests to the server without reloading the page(使得用户发出的请求不会使得页面重载)
- Receive and work with data from the server(接收、处理服务器的响应数据)
也就是说,在这个中转站上,对客户端发出的请求和服务器端进行处理,使得响应用户的请求不会让整个页面刷新。
2. XMLHttpRequest对象
(1)创建XMLHttpRequest对象
var myRequest = new XMLHttpRequest();
(2)readyState属性
返回XMLHttpRequest对象现在所处的状态。
值 状态 描述 0 UNSENT 代理被创建,但尚未调用 open() 方法。
1 OPENED open() 方法已经被调用。
2 HEADERS_RECEIVED send() 方法已经被调用,并且头部和状态已经可获得。
3 LOADING 下载中;responseText 属性已经包含部分数据。
4 DONE 下载操作已完成。
(3)onreadystatechange方法
XMLHttpRequest.onreadystatechange = callback;
当对象的readyState属性发生变化时,调用相应的处理函数。
(4)open方法
xhrReq.open(method, url, async);
作用:初始化一个请求。
method:要使用的方法,如GET/POST/PUT。
url:要向其发送请求的url
async:一个布尔参数,表示要不要执行异步操作,默认为true。