学习java,挺好玩的呢

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的异步和同步

 

posted on 2018-11-12 23:00  axu521  阅读(206)  评论(0编辑  收藏  举报

<