原生ajax的XMLHttpRequest物件的建立

螞蟻小編發表於2017-03-16

現在很多都是使用jQuery封裝好的ajax,因為沒有相容性,不過原生的ajax還是在大量使用了,這要看公司的具體要求,下面就介紹一下如何建立相容所有瀏覽器的XMLHttpRequest物件。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
if (window.XMLHttpRequest) {
  //針對FireFox,Mozillar,Opera,Safari,IE7,IE8
  xmlhttp = new XMLHttpRequest();
  //針對某些特定版本的mozillar瀏覽器的BUG進行修正
  if (xmlhttp.overrideMimeType) {
    xmlhttp.overrideMimeType("text/xml");
  }
} 
else if (window.ActiveXObject) {
  //針對IE6,IE5.5,IE5
  //兩個可以用於建立XMLHTTPRequest物件的控制元件名稱,儲存在一個js的陣列中
  //排在前面的版本較新
  var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
  for (var i = 0; i < activexName.length; i++) {
    try{
      //取出一個控制元件名進行建立,如果建立成功就終止迴圈
      //如果建立失敗,回丟擲異常,然後可以繼續迴圈,繼續嘗試建立
      xmlhttp = new ActiveXObject(activexName<i>);
      break;
    } 
    catch(e)
    {}
  }
}

相關文章