readystate储存ajax的状态码
1、创建ajax引擎对象时,readyState为0,这时会触发onreadystatechange但是没有数据,
2、open()时(开发连接),readyState为1,这时会触发onreadystatechange但是没有数据
3、send()时(传递参数),readyState为2,这时会触发onreadystatechange但是没哟数据
4、请求已发送,readyState为3,正在接受数据
5、表示数据已经成功接收,readyState为4
<!-- 声明js代码域 -->
<script type="text/javascript">
function getData(){
//创建ajax引擎对象
var ajax;
if(window.XMLHttpRequest){//火狐
ajax=new XMLHttpRequest();
}else if(window.ActiveXObject){//IE
ajax=new ActiveXObject("Msxml2.XMLHTTP");
}
//复写onreadystatement函数(监听函数监听Ajax状态码readystate)
ajax.onreadystatechange=function(){
//判断Ajax状态码
if(ajax.readyState==4){
//判断响应状态码(status为专门查看接收数据的Http状态码)
if(ajax.status==200){
//获取响应内容 ()
var result=ajax.responseText;
alert(result);
//获取元素对象
var showdiv=document.getElementById("showdiv");
showdiv.innerHTML=result;
}else if(ajax.status==404){
//获取元素对象
var showdiv=docunment.getElementById("showdiv");
showdiv.innerHTML="请求资源不存在";
}else if(ajax.status==500){
//获取元素对象
var showdiv=document.getElementById("showdiv");
showdiv.innerHTML="服务器繁忙";
}
}
}
//发送请求("get"请求方式、"ajax"是请求资源名、默认true异步(false是同步))
ajax.open("get","ajax",false); get请求方式将请求实体拼接在URL后面:ajax.open("get",“URL”); (url ? 隔开添加键值对)
ajax.send(null); post方式:请求实体需要单独发送:ajax.open("post","URL");
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("name=axuxuxu&pwd=12334");
alert("哈哈哈哈哈!!!!");
}
</script>
<body>
<h3>欢迎登录403峡谷</h3>
<hr>
<input type="button" value="测试" onclick="getData()"/>
<div id=showdiv>
</div>
Ajax学习:
1、ajax概念
局部刷新技术。不是一门新技术,是多种技术的组合。是浏览器端的技术。
2、ajax的作用
实现在当前结果页中显示其他请求的响应内容
3、ajax的使用
ajax的基本流程
创建ajax引擎对象
复写onreadystatement函数
判断ajax状态码
判断响应状态码
获取响应内容(响应内容的格式)
1、//普通字符串 使用麻烦大量拼接 responseText
2、//json (比普通的字符串好) responseText ( 使用谷歌的架包gson(resp.getwriter.writer(new Gson().toJson(对象))) 只需要将java对象传入,在jsp页面中就会显示json格式数据)
其实就是讲述java对象数据按照json格式拼接好的字符串,方便使用eval()方法
将接受的字符串数据直接转换为js的对象
json格式:
var 对象名={
属性名:属性值,
属性名:属性值,
............
}
3、//XML:responseXML
通过document对象将数据从xml中获取 例(alert(doc.getElementsByTagName("name")[0].innerHTML);)
处理响应内容(js操作文档结构)
get方式看上面的实例
post方式看上面的实例
发送请求
ajax的状态码:
ajax状态码:
readystate:0、1、2、3、4
4:表示响应内容被成功接收
响应状态码:
status
200:一切ok
404:资源未找到
500:内部服务器错误
ajax的异步和同步