AJAX创建过程分为经典的四步,以下分步阐述其过程及要点。
1. 创建AJAX对象;
var xhr = new XMLHTTPRequest; // IE6及以下不兼容
2. 发送前的基本信息配置:
- 配置请求方式(
GET
、POST
、PUT
、DELETE
、HEAD
…); - 打开一个
URL
地址(配置向哪一个服务器地址发送请求); - 同步还是异步(
true
异步,false
同步,默认是true
); [username]
向服务器提供请求的用户名[userpass]
限制,只允许特定用户访问时,才需要。
xhr.open('get','/data.txt',false,[username],[userpass]);
3. 给readystate事件绑定一个方法,监听状态的改变;
(1) xhr.readyState: AJAX状态码,可以代表当前AJAX处理的进度
- 0 未初始化。尚未调用open方法;
- 1 启动。已经调用open方法,但是尚未调用send方法;
- 2 发送。已经调用send方法,但是尚未接收到响应;
- 3 接收。已经接收到部分响应数据;
- 4 完成。已经接收到全部响应数据,并且可以在客户端使用了。
(2) xhr.status:Http 网络状态码,描述了服务器响应内容的状态.
200
或者以2开头的三位数字 代表响应的主体内容已经成功返回;301
永久重定向 / 永久转移302
临时重定向 / 临时转移 (服务器的负载均衡)304
本次获取的内容是读取缓存中的数据400
客户端给服务器传递的参数出现错误401
无权限访问404
客户端访问的地址不存在500
未知的服务器错误501
服务器已经超负荷
xhr.onreadystatechange = function() {
if(xhr.readyState === 4 && /^2\d{2}$/.test(xhr.status)) {
var val = xhr.responseText;
}
}
4.发送请求:参数是请求主体中传递给服务器的内容
xhr.send(null);