原生JS中的Ajax
第一步: 创建Ajax对象
1.ActiveXObject("Microsoft.XMLHTTP") IE6
2.XMLHttpRequest()
第二步:连接服务器
open(方法,文件名,异步传输)
第三步:发送请求
send()
第四步:做事情
onreadystatechange=function(){}
readyState状态码:
Http状态码:
同步异步
默认情况下ajax请求都是异步的,也可以设置为同步在请求行中写(第三个参数为false时就是同步,默认为不输入值就是异步)
xhr.open("GET","地址",false)
注册事件时机问题
在同步模式下,xhr.onreadystatechange = function如果在xhr.send()代码之后注册,会导致里面的代码无法执行,因为onreadystatechage为readyState改变的时候才发生的,同步模式下,send()完成以后readyState以及为4了,再注册事件,此时里面的函数将不会执行