优势:在不刷新页面的情况下与服务器进行数据读取。
原理:
1.创建ajax对象
2.连接到服务器
3.发送请求
4.接收返回值
创建ajax对象
let xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); //兼容IE6,7
}
完整使用案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
#obtn{}
</style>
<script>
window.onload=function(){
var obtn=document.getElementById('obtn');
obtn.onclick=function(){
let xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","EazyNote.jsp?t="+new Date().getTime(),true);//为了避免缓存问题
xmlhttp.send();
xmlhttp.onreadystatechange=function () {
if (xmlhttp.readyState==4){ //相应内容解析完成,可以调用
if(xmlhttp.status==200){
alert('成功'+xmlhttp.responseText);
}else{
alert('失败'+xmlhttp.status);
}
}
}
}
}
</script>
</head>
<body>
<input id="obtn" type="button" value="读取"/>
</body>
</html>
xml的readyState状态https://www.cnblogs.com/luoguixin/p/6249566.html
在AJAX实际运行当中,对于访问XMLHttpRequest(XHR)时并不是一次完成的,而是分别经历了多种状态后取得的结果,对于这种状态在AJAX中共有5种,分别是。
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
对于上面的状态,其中“0”状态是在定义后自动具有的状态值,而对于成功访问的状态(得到信息)我们大多数采用“4”进行判断。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。