中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AJAX中XMLHttpRequest是怎樣的

發布時間:2021-09-16 09:17:34 來源:億速云 閱讀:125 作者:柒染 欄目:web開發

本篇文章為大家展示了AJAX中XMLHttpRequest是怎樣的,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在使用XMLHttpRequest對象發送請求和處理響應之前,必須先用JavaScript創建一個XMLHttpRequest對象。由于XMLHttpRequest不是一個W3C標準,所以可以采用多種方法使用JavaScript來創建XMLHttpRequest的實例。Internet Explorer把XMLHttpRequest實現為一個ActiveX對象,其他瀏覽器(如Firefox、Safari和Opera)把它實現為一個本地JavaScript對象。由于存在這些差別,JavaScript代碼中必須包含有關的邏輯,從而使用ActiveX技術或者使用本地JavaScript對象技術來創建XMLHttpRequest的一個實例。
  很多人可能還記得從前的那段日子,那時不同瀏覽器上的JavaScript和DOM實現簡直千差萬別,聽了上面這段話之后,這些人可能又會不寒而栗。幸運的是,在這里為了明確該如何創建XMLHttpRequest對象的實例,并不需要那么詳細地編寫代碼來區別瀏覽器類型。你要做的只是檢查瀏覽器是否提供對ActiveX對象的支持。如果瀏覽器支持ActiveX對象,就可以使用ActiveX來創建XMLHttpRequest對象。否則,就要使用本地JavaScript對象技術來創建。代碼清單2-1展示了編寫跨瀏覽器的JavaScript代碼來創建XMLHttpRequest對象實例是多么簡單。
  代碼清單2-1 創建XMLHttpRequest對象的一個實例

var xmlHttp;

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


  可以看到,創建XMLHttpRequest對象相當容易。首先,要創建一個全局作用域變量xmlHttp來保存這個對象的引用。createXMLHttpRequest方法完成創建XMLHttpRequest實例的具體工作。這個方法中只有簡單的分支邏輯(選擇邏輯)來確定如何創建對象。對window.ActiveXObject的調用會返回一個對象,也可能返回null,if語句會把調用返回的結果看作是true或false(如果返回對象則為true,返回null則為false),以此指示瀏覽器是否支持ActiveX控件,相應地得知瀏覽器是不是Internet Explorer。如果確實是,則通過實例化ActiveXObject的一個新實例來創建XMLHttpRequest對象,并傳入一個串指示要創建何種類型的ActiveX對象。在這個例子中,為構造函數提供的字符串是Microsoft.XMLHTTP,這說明你想創建XMLHttpRequest的一個實例。
  如果window.ActiveXObject調用失敗(返回null),JavaScript就會轉到else語句分支,確定瀏覽器是否把XMLHttpRequest實現為一個本地JavaScript對象。如果存在window.
  XMLHttpRequest,就會創建XMLHttpRequest的一個實例。
  由于JavaScript具有動態類型特性,而且XMLHttpRequest在不同瀏覽器上的實現是兼容的,所以可以用同樣的方式訪問XMLHttpRequest實例的屬性和方法,而不論這個實例創建的方法是什么。這就大大簡化了開發過程,而且在JavaScript中也不必編寫特定于瀏覽器的邏輯。

上述內容就是AJAX中XMLHttpRequest是怎樣的,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

名山县| 宜兰市| 盐池县| 镇江市| 宁乡县| 玉山县| 鄂托克前旗| 广灵县| 荣昌县| 大城县| 宾川县| 遂昌县| 合江县| 石河子市| 蕲春县| 雷山县| 呼和浩特市| 白朗县| 浙江省| 昌乐县| 绥芬河市| 宜城市| 蕉岭县| 邛崃市| 保靖县| 南昌县| 万载县| 大庆市| 庐江县| 会东县| 绥宁县| 通辽市| 吉林省| 仁化县| 绥芬河市| 临汾市| 盐亭县| 江山市| 共和县| 西平县| 察隅县|