全局刷新和局部刷新
全局刷新:整个浏览器被新的数据覆盖。
局部刷新:在浏览器的内部发起请求获取数据,改变页面中的部分内容,其它不用刷新
异步对象XMLHttpRequest
AJAX用来做局部刷新,核心对象是XMLHttpRequest(异步对象),这个对象是存在浏览器内存中的,使用js创建
实现步骤
1.创建异步对象
var xmlHttp = new XMLHttpRequest();
2.给异步对象绑定onreadystatechange事件
当请求被发送到服务器时,我们需要执行一些基于相应的任务,每当readystate改变时,就会触发此事件,此事件可以指定一个处理函数 function
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readystate == 4 && xmlHttp.status == 200) {
//获取服务器端返回的数据
var data = xmlHttp.responseText;
//操作数据
...
}
}
readystate属性:
存有XMLHttpRequest的状态,从0到4发生变化。
0:请求未初始化,创建异步对象,var xmlHttp = new XMLHttpRequest();
1:初始化异步请求对象,xmlHttp.open(请求方式,请求地址,true)
2:异步对象发送请求,xmlHttp.send()
3:异步对象接收应答数据,XMLHttpRequest内部处理
4:异步请求对象已经将数据解析完毕,此时可以读取处理数据
status属性:
表示网络请求的状态的
200,404,500…
3.初始异步请求对象
//xmlHttp.open(请求方式get/post,请求地址,同步/异步)
xmlHttp.open(post,"loginServlet",true);
4.发送请求
xmlHttp.send();