欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AJAX入門之XMLHttpRequest慨述

 更新時(shí)間:2006年06月25日 00:00:00   作者:  
在使用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)別,聽(tīng)了上面這段話之后,這些人可能又會(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)用失敗(返回null),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)化了開(kāi)發(fā)過(guò)程,而且在JavaScript中也不必編寫特定于瀏覽器的邏輯。
  • jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)

    jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)

    CSS也使得表格的布局越來(lái)越光彩耀人。但是,無(wú)論如何,都掩飾不了那些包裝下的死板,接下來(lái)為大家介紹下讓那些死板的數(shù)據(jù) 更具有可讀性、可用性
    2013-04-04
  • 一個(gè)偽ajax圖片上傳代碼實(shí)現(xiàn)示例

    一個(gè)偽ajax圖片上傳代碼實(shí)現(xiàn)示例

    這篇文章主要介紹了自己寫的一個(gè)偽ajax圖片上傳實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-03-03
  • AJAX和JSP實(shí)現(xiàn)的基于WEB的文件上傳的進(jìn)度控制代碼

    AJAX和JSP實(shí)現(xiàn)的基于WEB的文件上傳的進(jìn)度控制代碼

    AJAX和JSP實(shí)現(xiàn)的基于WEB的文件上傳的進(jìn)度控制代碼...
    2007-05-05
  • 5款A(yù)jax 文件上傳控件

    5款A(yù)jax 文件上傳控件

    如果你的網(wǎng)站含有文件上傳功能,那可以使用本文介紹的5款A(yù)jax文件上傳控件,提升用戶體驗(yàn)。要知道,上傳文件總是個(gè)痛苦的過(guò)程,要消除不太現(xiàn)實(shí),但至少如果你為減少用戶的痛苦努力了,那用戶也會(huì)喜歡你的網(wǎng)站的。
    2009-10-10
  • ajax以及一些亂碼問(wèn)題

    ajax以及一些亂碼問(wèn)題

    很就以前在使用AJAX的時(shí)候,那時(shí)候還不知道AJAX。于是在任務(wù)中被AJAX的亂碼問(wèn)題搞的頭破血流。
    2010-08-08
  • Ajax 接收服務(wù)器返回的json響應(yīng)方法

    Ajax 接收服務(wù)器返回的json響應(yīng)方法

    今天小編就為大家分享一篇Ajax 接收服務(wù)器返回的json響應(yīng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 如何解決遠(yuǎn)程頁(yè)面抓取中的亂碼問(wèn)題

    如何解決遠(yuǎn)程頁(yè)面抓取中的亂碼問(wèn)題

    如何解決遠(yuǎn)程頁(yè)面抓取中的亂碼問(wèn)題...
    2006-12-12
  • 實(shí)現(xiàn)類似facebook無(wú)刷新ajax更新

    實(shí)現(xiàn)類似facebook無(wú)刷新ajax更新

    這篇文章主要介紹了實(shí)現(xiàn)類似facebook無(wú)刷新ajax更新,需要的朋友可以參考下
    2014-03-03
  • ajax struts2 下拉框賦值(適合所有)

    ajax struts2 下拉框賦值(適合所有)

    此代碼適合所有下拉列表取值;一個(gè)項(xiàng)目所有的下拉列表只需要這一個(gè)公用方法,接下來(lái)為大家詳細(xì)介紹下具體實(shí)現(xiàn)步驟,感興趣的朋友可以參考下,希望可以幫助到你
    2013-03-03
  • 最新評(píng)論