国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > AJAX > 正文

解析ajax核心XMLHTTPRequest對象的創(chuàng)建與瀏覽器的兼容問題

2024-09-01 08:28:54
字體:
供稿:網(wǎng)友
MLHttpRequest 對象是AJAX功能的核心,要開發(fā)AJAX程序必須從了解XMLHttpRequest 對象開始。

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

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

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

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

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

  var xmlhttp=new XMLHttpRequest();

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

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

第一種方法:

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

  function CreateXMLHttp(){

  try{

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

}catch(e){

  try{

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

}catch(e){

  try{

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

}catch(failed){

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

}

}

}

return xmlhttp;

}

判斷是否成功的例子:

if(!xmlhttp){

 創(chuàng)建xmlhttp失敗

}else{

 創(chuàng)建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之外的瀏覽器創(chuàng)建XMLHttpRequest對象

var xmlhttp=new XMLHttpRequest();

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

 方法:

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐陵市| 喜德县| 喀什市| 淮滨县| 嘉定区| 乐亭县| 西乌珠穆沁旗| 绥滨县| 类乌齐县| 始兴县| 普格县| 乌鲁木齐县| 出国| 恭城| 林周县| 东源县| 民权县| 吴旗县| 南岸区| 新干县| 大化| 扎赉特旗| 商洛市| 西城区| 文登市| 惠水县| 长岭县| 棋牌| 双城市| 东乡县| 都昌县| 大关县| 航空| 太白县| 泸州市| 肥城市| 长沙县| 定西市| 萨迦县| 江油市| 新乡市|