亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

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

2024-09-01 08:32:24
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了ajax核心XMLHTTPRequest對象的創建與瀏覽器的兼容問題。需要的朋友可以過來參考下,希望對大家有所幫助

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.49028c.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 對象 -> 指定發送地址及發送方法 -> 指定狀態變化處理方法 -> 發送請求,請求發送后狀態變化了就會自動調用指定的處理方法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综合色综合网色综合| 在线观看国产欧美| 欧美在线中文字幕| 国产精品久久久久久av福利| 欧美刺激性大交免费视频| 久久精品久久久久久国产 免费| 国产成人精彩在线视频九色| 国产精品欧美激情| 国产精品aaa| 欧美亚洲国产另类| 亚洲缚视频在线观看| 九九精品视频在线| 欧美成人免费在线视频| 黑人巨大精品欧美一区免费视频| 日韩精品免费在线| 91高清视频在线免费观看| 午夜精品99久久免费| 北条麻妃一区二区在线观看| 亚洲欧美日韩精品久久| 色综合91久久精品中文字幕| 成人黄色免费看| 精品中文视频在线| 在线观看久久久久久| 中日韩午夜理伦电影免费| 日韩免费av在线| 欧美亚洲国产日韩2020| 国产三级精品网站| 亚洲人精选亚洲人成在线| 亚洲国产精品99| 亚洲人成在线播放| 国产精品欧美激情| 亚洲国产女人aaa毛片在线| 国产精品91久久久久久| 日韩高清有码在线| 在线观看日韩www视频免费| 欧美日韩精品二区| www.日韩av.com| 中文字幕少妇一区二区三区| 欧美一级在线亚洲天堂| 亚洲97在线观看| 日韩欧美a级成人黄色| 欧美精品九九久久| 亚洲精品成人免费| 亚洲国产美女精品久久久久∴| 欧美高清视频免费观看| 亚洲人成网站999久久久综合| 亚洲欧美精品一区二区| 国产日韩欧美成人| 成人性生交大片免费观看嘿嘿视频| 精品久久久久久| 尤物精品国产第一福利三区| 成人在线观看视频网站| 亚洲国产又黄又爽女人高潮的| 亚洲国产精品高清久久久| 日韩成人av在线播放| www.99久久热国产日韩欧美.com| 亚洲国产日韩精品在线| 欧美日韩免费区域视频在线观看| 日韩最新在线视频| 欧美精品电影在线| 美女性感视频久久久| 久久天天躁狠狠躁夜夜av| 97色在线观看| 国产亚洲激情在线| 亚洲精品国产精品久久清纯直播| 国产精品户外野外| 欧美色xxxx| 国产偷亚洲偷欧美偷精品| 欧美色videos| 亚洲性无码av在线| 成人免费在线网址| 欧美激情欧美激情在线五月| 欧美激情视频在线| 美女999久久久精品视频| 日韩资源在线观看| 亚洲精品久久久久久久久| 亚洲人线精品午夜| 国产精品一区二区电影| 国产欧美一区二区三区久久| 欧美电影在线免费观看网站| 欧美高跟鞋交xxxxxhd| 欧美乱大交做爰xxxⅹ性3| 亚洲精品成人久久电影| 欧美与欧洲交xxxx免费观看| 色偷偷偷亚洲综合网另类| 黑人欧美xxxx| 热99精品只有里视频精品| 欧美另类第一页| 欧美大尺度在线观看| 亚洲成av人片在线观看香蕉| 日韩最新免费不卡| 色在人av网站天堂精品| 成人在线国产精品| 国产精品视频白浆免费视频| 日韩网站免费观看| 伊人久久久久久久久久久久久| 91免费看片在线| 欧美一区二区三区免费视| 日韩av123| 国产精品96久久久久久又黄又硬| 国模吧一区二区三区| 日韩av电影手机在线观看| 成人免费激情视频| 欧美激情精品久久久久久黑人| 日韩人在线观看| 日韩在线视频观看正片免费网站| 精品国产一区二区三区久久久| 日韩高清电影免费观看完整| 久久亚洲国产精品| 精品成人乱色一区二区| 热99精品只有里视频精品| 国产精品极品在线| 俺也去精品视频在线观看| 精品爽片免费看久久| 美女扒开尿口让男人操亚洲视频网站| 亚洲精品国产美女| 国产精品三级网站| 久久激情五月丁香伊人| 欧美日韩国产一区在线| 亚洲精品www久久久久久广东| 91高清免费视频| 国产成人一区二区| 亚洲第一网站免费视频| 亚洲影院色在线观看免费| 红桃视频成人在线观看| 久久综合久久八八| 欧美大肥婆大肥bbbbb| 国产精品久久久久久久久男| 久久激情视频免费观看| 色中色综合影院手机版在线观看| 久久97精品久久久久久久不卡| 富二代精品短视频| 久久久久99精品久久久久| 久久精品国产欧美亚洲人人爽| 国模gogo一区二区大胆私拍| 18一19gay欧美视频网站| 日av在线播放中文不卡| 97视频在线观看免费| 欧美成在线观看| 欧美另类第一页| 性欧美办公室18xxxxhd| 欧美日韩在线观看视频小说| 宅男66日本亚洲欧美视频| 在线看日韩欧美| 日日狠狠久久偷偷四色综合免费| 久久全国免费视频| 欧美又大又硬又粗bbbbb| 成人精品久久久| 欧美亚洲视频在线观看| 日韩激情av在线免费观看| 九九热在线精品视频| 91亚洲国产成人精品性色| 欧美肥老妇视频| 国产精品91久久| 欧美成人sm免费视频| 欧美极品欧美精品欧美视频| 精品久久久一区二区| 亚洲女人天堂色在线7777| 久久国产视频网站| 亚洲综合色av| 尤物九九久久国产精品的分类| 日韩电视剧在线观看免费网站| 欧美老妇交乱视频| 日本一区二三区好的精华液|