2010-02-08 80 views
2

我有一個使用xml文檔的舊網站,當我創建它時,我使用了Firefox和IE7進行測試,它的工作非常好。從那時起,IE8出現了,並且它認爲該網站不能正常工作。 這是當前的代碼:在IE8上的ajax問題

if (window.XMLHttpRequest) 
    { 
     XMLHttpRequestObject = new XMLHttpRequest(); 
     XMLHttpRequestObject.overrideMimeType("text/xml"); 
     XMLHttpRequestObject.open("GET", "produse.xml", true); 
     XMLHttpRequestObject.onreadystatechange = function() 
     { 
      if (XMLHttpRequestObject.readyState == 4) 
      { 
       xmlDocument = XMLHttpRequestObject.responseXML; 
       removeWhitespace(xmlDocument);           
      } 
     } 
    XMLHttpRequestObject.send(null); 
    } 
    else if (window.ActiveXObject) 
     { 
      xmlDocument= new ActiveXObject("Microsoft.XMLDOM"); 
      xmlDocument.async=false; 
      if (xmlDocument .readyState == 4) 
      { 
       xmlDocument.load("produse.xml");  
      } 
     } 

但我得到這個錯誤:

Message: Object doesn't support this property or method 
Line: 19 
Char: 3 
Code: 0 

內容涉及:

XMLHttpRequestObject.overrideMimeType("text/xml"); 

我應該用什麼呢?

回答

2

此頁面顯示的差異火狐/ IE之間是什麼/ IE8是和有如何做到這一點的例子:

http://www.javascriptkit.com/jsref/ajax.shtml

主要是它說,IE8不支持此方法你必須確保你的服務器正在向傳出的響應添加正確的頭文件(text/xml)。

它還有一個鏈接到http://www.javascriptkit.com/dhtmltutors/ajaxgetpost3.shtml,它解釋了常見的陷阱和IE問題。

它說事:

if (mygetrequest.overrideMimeType) 
mygetrequest.overrideMimeType('text/xml') 
1

jQuery將是我的選擇。它速度更快,並且支持跨瀏覽器並且支持CDN。

您可以將該代碼分解爲幾行。

$.get('ajax/test.html', function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
});