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="测试" οnclick="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的异步和同步