一、AJAX的作用
在不刷新页面的情况下更新数据(局部刷新数据)
二、核心
1.兼容写法
if(window.ActiveXObject){
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
ajax = new XMLHttpRequest();
}
2.IE6不兼容
XMLHttpRequest
三、使用
1.创建
var ajax = new XMLHttpRequest();
2.打开
(1)同步
ajax.open("get","xxx.php",false);
其中参数2为服务器地址。参数3表示是否异步
ajax.open("post",xxx.php,false);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
(2)异步
ajax.open("get","xx.php",true);
ajax.open("post",xxx.php,true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded);
发送后状态值readystate
<1>0 对象已建立,还未初始化,未调用send
<2>1 open已调用,未调用send
<3>2 send已调用,其他未知
<4>3 请求已发送,正在接收数据
<5>4 表示数据已经收到
(3)监听
ajax.onreadystatechange = function(){
console.log(ajax.responseText)
}
(4)发送
ajax.send(null) 发送后返回四种参数
<1>responseText 作为响应的主体返回的文本
<2>responseXML
<3>status
200成功
202请求接受,处理未完成
400语法错误
404找不到指定url
500内部服务器错误
<4>statusText 跨浏览器时可能不太一致
四、补充
同步:上一个任务结束,下一个任务开始,例如alert弹窗
异步:按顺序开始,最后不一定按照顺序结束,例如下载任务或者图片的加载