zoukankan      html  css  js  c++  java
  • AJAX--XMLHttpRequest五步使使用方法

          传统浏览方式和AJAX方式的不同

     

          多数Web应用程序都使用请求/响应模型从server上获得完整的HTML页面。经常是点击一个button,等待server对应,在点击还有一个button。然后在等待,这样一个重复的过程。

           

           而AJAX是一种创建交互式网页的网页开发技术。当中XMLHttpRequest是核心的内容,它可以为页面中的javascript脚本提供特定的通信方式。从而使页面的javascript脚本和server之间形成动态交互的效果。XMLHTTPRequest的最大的长处是页面内的javascript脚本可以不用刷新页面,而直接和server发生交互。

           


           XMLHTTPRequest的五步使使用方法

         1、建立XMLHTTPRequest对象      

    //1.创建XMLHTTPRequest对象
                    if(window.XMLHttpRequest){
                        //alert("IE7,IE8,FireFox");
                        xmlhttp =new XMLHttpRequest();
                        if(xmlhttp.overrideMimeType){
                            xmlhttp.overrideMimeType("text/xml");
                        }
                    }else if(window.ActiveXObject){
                        //alert("IE6,IE5.5,IE5");
                        var activexName=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0",
                            "MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0",
                            "MSXML2.XMLHTTP","Miscrosoft XMLHTTP"];
                        for(var i=0;i<activexName.length;i++) {
                            try{
                                xmlhttp=new ActiveXObject(activexName[i]);
                                break;
                            }catch(e){
                                
                            }
                        }
                    }
                    if(xmlhttp == undefined || xmlhttp == null){
                        alert("当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器");
                        return;
                    }
                    array.push(xmlhttp.readyState);

            2、注冊回调函数    

    xmlhttp.onreadystatechange=callback;
    要注意的是callback不能写成callback(),我们是想把方法名告诉onreadystatechange这个属性,假设加了括号,就相当于把返回值告诉了onreadystatechange属性。


            3、使用open方法设置和server端交互的基本信息

            有两种方法     

          //GET方式交互                
          xmlhttp.open("GET","AJAX?

    name=" + userName,true); //POST方式交互 xmlhttp.open("POST","AJAX",true); //POST方式交互所需添加的代码 xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")


            4、设置发送的数据,開始和server端交互 

         //GET方式
         xmlhttp.send(null);
    
         //POST方式
         xmlhttp.send("name=" + userName);

            5、更新界面

            在回调函数中推断交互是否结束,响应是否正确。并依据须要获取server返回的数据。并更新页面

         

         array.push(xmlhttp.readyState);
         //推断和server端的交互是否完毕,还要推断server端是否正确返回了数据
         if(xmlhttp.readyState == 4){
         //表示和server端的交互已经完毕
            if(xmlhttp.status == 200){
            //表示server的是响应代码是200。正确返回了数据
               var message=xmlhttp.responseText;
               //XML数据相应的DOM对象的接受方法
               //使用的前提是,server端须要设置contenttype为text/xml
                            
               //记忆像div标签中填充文本内容的方法
               var div=document.getElementById("message");
               div.innerHTML=message;
               alert(array);
            }
         }

        

       总结

      初步了解XMLHTTPRequest对象的使用,便于以后更深入的去了解和使用。 

  • 相关阅读:
    Postgresql修改序列方法 select setval('dataset_id_seq',1,false);
    再谈Elasticsearch全文搜索:你不知道的query_string、match、term、match_phrase的区别
    crosstab(unknown, unknown) does not exist
    Elasticsearch High Level Rest Client 发起请求的过程分析
    提取经过Jar2Exe编译加密的源代码 教程1
    Unity 协程与线程
    box unboxing(装箱 拆箱) C#编程指南
    C++基础笔记(四)C++内存管理
    C++ 箭头-> 双冒号:: 点号.操作符区别
    ref out 方法参数
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7039426.html
Copyright © 2011-2022 走看看