主頁(yè) > 知識(shí)庫(kù) > AJAX入門之XMLHttpRequest慨述

AJAX入門之XMLHttpRequest慨述

熱門標(biāo)簽:辰溪地圖標(biāo)注 海南銀行智能外呼系統(tǒng)商家 遼寧正規(guī)電銷機(jī)器人 許昌智能電銷機(jī)器人公司 姜堰電銷機(jī)器人 上海浦東騰訊地圖標(biāo)注位置 電銷機(jī)器人違法了嗎 遼寧銀行智能外呼系統(tǒng) 澳大利亞城市地圖標(biāo)注
在使用XMLHttpRequest對(duì)象發(fā)送請(qǐng)求和處理響應(yīng)之前,必須先用JavaScript創(chuàng)建一個(gè)XMLHttpRequest對(duì)象。由于XMLHttpRequest不是一個(gè)W3C標(biāo)準(zhǔn),所以可以采用多種方法使用JavaScript來(lái)創(chuàng)建XMLHttpRequest的實(shí)例。Internet Explorer把XMLHttpRequest實(shí)現(xiàn)為一個(gè)ActiveX對(duì)象,其他瀏覽器(如Firefox、Safari和Opera)把它實(shí)現(xiàn)為一個(gè)本地JavaScript對(duì)象。由于存在這些差別,JavaScript代碼中必須包含有關(guān)的邏輯,從而使用ActiveX技術(shù)或者使用本地JavaScript對(duì)象技術(shù)來(lái)創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。

  很多人可能還記得從前的那段日子,那時(shí)不同瀏覽器上的JavaScript和DOM實(shí)現(xiàn)簡(jiǎn)直千差萬(wàn)別,聽了上面這段話之后,這些人可能又會(huì)不寒而栗。幸運(yùn)的是,在這里為了明確該如何創(chuàng)建XMLHttpRequest對(duì)象的實(shí)例,并不需要那么詳細(xì)地編寫代碼來(lái)區(qū)別瀏覽器類型。你要做的只是檢查瀏覽器是否提供對(duì)ActiveX對(duì)象的支持。如果瀏覽器支持ActiveX對(duì)象,就可以使用ActiveX來(lái)創(chuàng)建XMLHttpRequest對(duì)象。否則,就要使用本地JavaScript對(duì)象技術(shù)來(lái)創(chuàng)建。代碼清單2-1展示了編寫跨瀏覽器的JavaScript代碼來(lái)創(chuàng)建XMLHttpRequest對(duì)象實(shí)例是多么簡(jiǎn)單。

  代碼清單2-1 創(chuàng)建XMLHttpRequest對(duì)象的一個(gè)實(shí)例

var xmlHttp;

function createXMLHttpRequest() {
  if (window.ActiveXObject) {
   xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if (window.XMLHttpRequest) {
   xmlHttp = new XMLHttpRequest();
  }
}

  可以看到,創(chuàng)建XMLHttpRequest對(duì)象相當(dāng)容易。首先,要?jiǎng)?chuàng)建一個(gè)全局作用域變量xmlHttp來(lái)保存這個(gè)對(duì)象的引用。createXMLHttpRequest方法完成創(chuàng)建XMLHttpRequest實(shí)例的具體工作。這個(gè)方法中只有簡(jiǎn)單的分支邏輯(選擇邏輯)來(lái)確定如何創(chuàng)建對(duì)象。對(duì)window.ActiveXObject的調(diào)用會(huì)返回一個(gè)對(duì)象,也可能返回null,if語(yǔ)句會(huì)把調(diào)用返回的結(jié)果看作是true或false(如果返回對(duì)象則為true,返回null則為false),以此指示瀏覽器是否支持ActiveX控件,相應(yīng)地得知瀏覽器是不是Internet Explorer。如果確實(shí)是,則通過(guò)實(shí)例化ActiveXObject的一個(gè)新實(shí)例來(lái)創(chuàng)建XMLHttpRequest對(duì)象,并傳入一個(gè)串指示要?jiǎng)?chuàng)建何種類型的ActiveX對(duì)象。在這個(gè)例子中,為構(gòu)造函數(shù)提供的字符串是Microsoft.XMLHTTP,這說(shuō)明你想創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。

  如果window.ActiveXObject調(diào)用失?。ǚ祷豱ull),JavaScript就會(huì)轉(zhuǎn)到else語(yǔ)句分支,確定瀏覽器是否把XMLHttpRequest實(shí)現(xiàn)為一個(gè)本地JavaScript對(duì)象。如果存在window.

  XMLHttpRequest,就會(huì)創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。

  由于JavaScript具有動(dòng)態(tài)類型特性,而且XMLHttpRequest在不同瀏覽器上的實(shí)現(xiàn)是兼容的,所以可以用同樣的方式訪問(wèn)XMLHttpRequest實(shí)例的屬性和方法,而不論這個(gè)實(shí)例創(chuàng)建的方法是什么。這就大大簡(jiǎn)化了開發(fā)過(guò)程,而且在JavaScript中也不必編寫特定于瀏覽器的邏輯。
您可能感興趣的文章:
  • Ajax xmlHttpRequest的status的值的含義
  • AJAX中同時(shí)發(fā)送多個(gè)請(qǐng)求XMLHttpRequest對(duì)象處理方法
  • 解析ajax核心XMLHTTPRequest對(duì)象的創(chuàng)建與瀏覽器的兼容問(wèn)題
  • 如何用ajax來(lái)創(chuàng)建一個(gè)XMLHttpRequest對(duì)象
  • Ajax通訊原理XMLHttpRequest
  • ajax 入門基礎(chǔ)之 XMLHttpRequest對(duì)象總結(jié)
  • Ajax核心XMLHttpRequest總結(jié)
  • AJAX(XMLHttpRequest.status)狀態(tài)碼
  • XMLHttpRequest對(duì)象_Ajax異步請(qǐng)求重點(diǎn)(推薦)
  • AJAX XMLHttpRequest對(duì)象詳解
  • 不使用XMLHttpRequest對(duì)象實(shí)現(xiàn)Ajax效果的方法小結(jié)

標(biāo)簽:西藏 深圳 威海 伊春 崇左 銅川 晉城 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《AJAX入門之XMLHttpRequest慨述》,本文關(guān)鍵詞  AJAX,入門,之,XMLHttpRequest,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《AJAX入門之XMLHttpRequest慨述》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于AJAX入門之XMLHttpRequest慨述的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章

    上一篇:ajax應(yīng)用

    下一篇:XMLHttpRequest of ajax