AJAX 就是浏览器提供的一套API(应用程序编程接口),可以通过JS调用,从而实现通过代码控制请求与响应,实现网络编程。
使用AJAX的过程就可以类比平常我访问网页的过程:
1打开浏览器
var xhr = new XMLHttpRequest //创建一个XMLHttpRequest 对象
2在地址栏输入访问地址
xhr.open("get", "./time.php") //打开一个网址之间的连接
3按下Enter键(点击访问发送请求)
xhr.send(null) //通过连接发送请求
4处理网页呈现后得操作
xhr.onreadystatechange = function(){
//通过xhr的readystate 判断此次请求的相应是否接受完成:readystate===4表示接受完成
if(this.readystate === 4) {
//通过xhr的responseText 获取到响应报文的相应体
console.log(this)
}
}
注意:readystatechange 事件是在xhr对象状态改变的时候触发的(不但是在得到响应时)
readystate 的值代表的意义:
readystate 状态描述 说明
0 UNSENT 创建代理xhr,但尚未调用open()方法
1 OPENED 调用了open()方法,建立了连接
2 HEADERS_RECEIVED send()方法已经被调用,并且已经可以获取状态行和响应头。
3 LOADING 响应体下载中,responseText属性可能已经包含部分数据
4 DONE 相应提下载完成,可以直接使用responseText
通过理解每一个状态值的含义得出一个结论:一般我们都是在 readyState 值为 4 时,执行响应的后续逻辑。
浙公网安备 33010602011771号