样例:
<!-- 声明js代码域 -->
<script type="text/javascript">
function getData(){
//创建ajax引擎对象
var ajax;
if(window.XMLHttpRequest){
ajax=new XMLHttpRequest();
}else if(window.ActiveXObject){
ajax=new ActiveXObject("Msxml2.XMLHTTP");
}
//复写onreadystatement函数
ajax.onreadystatechange=function(){
//判断Ajax状态码
if(ajax.readyState==4){
//判断响应状态码
if(ajax.status==200){
//获取响应内容
var result=ajax.responseText;
//获取元素对象
var showdiv=document.getElementById("showdiv");
//修改元素内容
showdiv.innerHTML=result;
}else if(ajax.status==404){
//获取元素对象
var showdiv=document.getElementById("showdiv");
//修改元素内容
showdiv.innerHTML="请求资源不存在";
}else if(ajax.staus==500){
//获取元素对象
var showdiv=document.getElementById("showdiv");
//修改元素内容
showdiv.innerHTML="服务器繁忙";
}
}
}
//发送请求
ajax.open("get", "ajax2");
ajax.send(null)
}
</script>
说明:
1、onreadystatechange函数会被执行4次,但readyState为4,才是我们想要获取结果的时候,故加上判断
2、通过判断响应状态码,给出不同的处理结果。
Ajax的使用流程:
<!--
Ajax学习:
1、ajax的概念
局部刷新技术。不是一门新技术,是多种技术的组合。是浏览器端的技术
2、ajax的作用
可以实现再当前结果页中显示其他请求的响应内容
3、ajax的使用
ajax的基本流程
//创建ajax引擎对象
//复写onreadystatement函数
//判断ajax状态码
//判断响应状态码
//获取响应内容(响应内容的格式)
//普通字符串:使用ajax.responseText;获取
//JSON(重点):使用ajax.responseText;获取
其实就是将数据按照json的格式拼接好的字符串,方便使用eval方法
将接收到的字符串直接转换成js对象
json格式:
var 对象名={
属性名:属性值,
属性名:属性值
……
}
//XML:使用ajax.responseXML;获取,返回Document对象
通过Document对象将数据从xml中获取
//处理响应内容(js操作文档结构)
//发送请求
//get请求
get的请求实体需要拼接在URL后面,?隔开,键值对
ajax.open("get", url);
ajax.send(null);
//post请求
有单独的请求实体
ajax.open("post", url);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");//告诉服务器键值对传输
ajax.send("name=张三&pwd=123");
ajax的状态码
ajax状态码
readyState:0,1,2,3,4
4:表示响应内容被成功接收
响应状态码
status
200:一切ok
404:资源未找到
500:服务器内部错误
ajax的异步和同步
ajax.open(method, url, async)
async:设置同步代码还是异步代码执行
true代表异步,默认异步
false代表同步
-->