<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        解析ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題

        來源:懂視網 責編:小采 時間:2020-11-27 22:52:17
        文檔

        解析ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題

        解析ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題:MLHttpRequest 對象是AJAX功能的核心,要開發AJAX程序必須從了解XMLHttpRequest 對象開始。 了解XMLHttpRequest 對象就先從創建XMLHttpRequest 對象開始,在不同的瀏覽器中創建XMLHttpRequest 對象使用不同的方法: 先看看IE創建XMLHttp
        推薦度:
        導讀解析ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題:MLHttpRequest 對象是AJAX功能的核心,要開發AJAX程序必須從了解XMLHttpRequest 對象開始。 了解XMLHttpRequest 對象就先從創建XMLHttpRequest 對象開始,在不同的瀏覽器中創建XMLHttpRequest 對象使用不同的方法: 先看看IE創建XMLHttp

        MLHttpRequest 對象是AJAX功能的核心,要開發AJAX程序必須從了解XMLHttpRequest 對象開始。

        了解XMLHttpRequest 對象就先從創建XMLHttpRequest 對象開始,在不同的瀏覽器中創建XMLHttpRequest 對象使用不同的方法:

        先看看IE創建XMLHttpRequest 對象的方法(方法1):

          var xmlhttp=ActiveXobject("Msxml12.XMLHTTP");//較新的IE版本創建Msxml12.XMLHTTP對象

          var xmlhttp=ActiveXobject("Microsoft.XMLHTTP");//較老的IE版本創建Microsoft.XMLHTTP對象

        而 Mozilla、Opera、Safari 和大部分非IE的瀏覽器都使用下面這種方法(方法2)創建XMLHttpRequest 對象:

          var xmlhttp=new XMLHttpRequest();

        注意:實際上Internet Explorer 使用了一個名為 XMLHttp 的對象,而不是 XMLHttpRequest 對象,而 Mozilla、Opera、Safari 和 大部分非 Microsoft 瀏覽器都使用的是后者(下文統稱 XMLHttpRequest 對象)。IE7開始也開始使用XMLHttpRequest 對象了。

        因此我們需要創建一個能兼容多瀏覽器的XMLHTTPRequest對象:

        第一種方法:

          var xmlhttp=false;//創建一個新變量并賦值false,使用false作為判斷條件說明還沒有創建XMLHTTPRequest對象

          function CreateXMLHttp(){

          try{

           xmlhttp=new XMLHttpRequest();//嘗試創建 XMLHttpRequest 對象,除 IE 外的瀏覽器都支持這個方法。

        }catch(e){

          try{

          xmlhttp=ActiveXobject("Msxml12.XMLHTTP");//使用較新版本的 IE 創建 IE 兼容的對象(Msxml2.XMLHTTP)。

        }catch(e){

          try{

          xmlhttp=ActiveXobject("Microsoft.XMLHTTP");//使用較老版本的 IE 創建 IE 兼容的對象(Microsoft.XMLHTTP)。

        }catch(failed){

            xmlhttp=false;//如果失敗了還保持false

        }

        }

        }

        return xmlhttp;

        }

        判斷是否成功的例子:

        if(!xmlhttp){

         創建xmlhttp失敗

        }else{

         創建xmlhttp成功

        }

        第二種方法:
         if(typeof(XMLHttpRequest)=="undefined" && window.ActiveXObject){

          function XMLHttpRequest(){

          var xmlhttp_arr=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];

          var xmlhttp;

          for(i=0;i<xmlhttp_arr.length;i++){

           if(xmlhttp=new ActiveXObject(xmlhttp_arr[i]))

           break;

        }

          return xmlhttp;

        }

        }

        //這個是除了IE之外的瀏覽器創建XMLHttpRequest對象

        var xmlhttp=new XMLHttpRequest();

        創建xmlhttp成功后,然后再來看看它的一些屬性和方法吧,還有最重要的onreadystatechange事件句柄

         方法:

         open() 初始化http請求參數,包括URL和http方法,但是不發送請求;

         abort() 取消當前響應,關閉連接并斷開所有網絡未結束的活動;

         getAllResponseHeaders() 把http響應頭部作為未解析字符串返回;

         getResponseHeaders) 返回指定的http響應頭的值;

         send() 發送http請求使用傳遞給open()方法的參數,以及傳個該方法的可選請求體;

         setResponseHeader() 向一個打開但沒有發送的請求設置或添加一個Http請求。

         屬性:

         readyState 說明http請求的狀態;(有5個狀態分別是

         0 表示沒有初始化;

         1 表示讀取中

         2 表示已讀取

         3 交互中(接受中)

         4 完成

        )

         responseText 說明為服務器接收到得響應體,如果沒有接收到數據就返回空字符串;

         responseXML 說明對請求的回應 解析為XML并用document對象返回;

         status 說明http請求的狀態;

         statusText 說明http請求狀態不是以數字形式而是用名稱;

         onreadystatechange 是readySate狀態改變時調用事件的函數。

        下面是一個發送請求數據并返回結果的xmlhttpRequest對象;

         生成一個XMLHTTPRequest對象

         var xmlhttp=CreatXMLHttp();
         xmlhttp.open("get","http://www.gxlcms.com/jaryle",true);
         xmlhttp.onReadyStateChange=getresult;
        //怎么告訴XMLHttpRequest 對象狀態變化時讓誰來處理這個變化呢用到二種方法:一種是匿名方法xmlhttp.onReadyStateChange=function(){處理變化的代碼}
        另一種方法:指定方法:xmlhttp.onReadyStateChange=getresult;
            function getresult(){處理變化的代碼}
         xmlhttp.send();
         function getresult(){
         if(xmlhttp.readyState==4){ //當readyState的狀態等于4時表示接收到數據
         if(xmlhttp.status==200){ //這個時候就需要用到status屬性,即由服務器返回的 HTTP 狀態代碼。 xmlhttp.status 等于200時表示傳輸過程完整沒有錯誤
         alert(xmlhttp.responseText);
        }
        }
         }

        注意:所以我們應該按照上面的流程來記憶:創建XMLHttpRequest 對象 -> 指定發送地址及發送方法 -> 指定狀態變化處理方法 -> 發送請求,請求發送后狀態變化了就會自動調用指定的處理方法。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        解析ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題

        解析ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題:MLHttpRequest 對象是AJAX功能的核心,要開發AJAX程序必須從了解XMLHttpRequest 對象開始。 了解XMLHttpRequest 對象就先從創建XMLHttpRequest 對象開始,在不同的瀏覽器中創建XMLHttpRequest 對象使用不同的方法: 先看看IE創建XMLHttp
        推薦度:
        標簽: 創建 瀏覽器 兼容
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日本精品人妻无码免费大全| **俄罗斯毛片免费| 免费jjzz在线播放国产| 亚洲Av永久无码精品一区二区| 99在线视频免费观看视频| 亚洲最大成人网色香蕉| 无码国产精品久久一区免费| 久久精品国产亚洲AV久| 日韩吃奶摸下AA片免费观看 | 亚洲AV中文无码乱人伦下载| 美女网站在线观看视频免费的| 自拍偷自拍亚洲精品第1页| 久久国产一片免费观看| 亚洲成人免费在线| 国产免费不卡视频| 亚洲hairy多毛pics大全| 免费看男女下面日出水视频| 一级特黄a免费大片| 国产成人亚洲综合色影视| 91精品全国免费观看含羞草| 亚洲综合一区二区三区四区五区 | 亚洲综合色自拍一区| 一区二区三区无码视频免费福利| 亚洲AV综合色区无码一区爱AV| 久视频精品免费观看99| 亚洲AV香蕉一区区二区三区| 亚洲美女在线国产| 2015日韩永久免费视频播放 | 久久亚洲国产成人精品无码区| 久久精品视频免费播放| 456亚洲人成影院在线观| 亚洲不卡无码av中文字幕| 国产免费网站看v片在线| 亚洲一区二区三区无码国产 | 亚洲AV无码一区东京热久久| 97视频热人人精品免费| 深夜特黄a级毛片免费播放| 亚洲AV成人片色在线观看| 最近最新中文字幕完整版免费高清 | 四虎永久免费网站免费观看| 中文字幕乱码一区二区免费|