2010-07-08 69 views
1


考慮下面的代碼片段:

function parseXml(xml) 
{  
    xmlObject= xml;  
    alert(xmlObject.xml); 
} 
function close(errroMsg) 
{ 
//Displayed Error Message 
} 

$(document).ready(function() 
{ 
    $.ajax(
      { 
       type: "POST",    
       url: "ServiceProvider.aspx", 
       dataType: "xml", 
       success: parseXml, 
       failure: close 
      } 
     ); 
}); 

在IE-8警報(xmlObject.xml)disaplays XML串。 但在Mozilla中顯示未定義。 我正在使用jquery-1.4.2 我無法找出錯誤。 在此先感謝。

+0

你嘗試只是調用'警報(XML);'? – jAndy 2010-07-08 12:25:54

+0

打開Firebug控制檯,查看服務器對AJAX請求的響應是什麼 - 如果它甚至正在觸發。可能是IE瀏覽器具有鬆散的XML解析並且XML響應格式錯誤。 – 2010-07-08 12:36:47

+0

嗨, 它顯示Xmlobject。 – 2010-07-08 12:37:27

回答

2

IE與其他瀏覽器有不同的XML文檔實現,其中一個區別是在IE中有xml文檔屬性。

如果你想要序列化的XML轉換爲字符串中的所有瀏覽器,您可以使用以下命令:

function serializeXmlDoc(xmlDoc) { 
    if (window.XMLSerializer) { 
     return (new window.XMLSerializer()).serializeToString(xmlDoc); 
    } else if (typeof xmlDoc.xml != "undefined") { 
     return xmlDoc.xml; 
    } 
} 
+0

.xml是Microsoft XMLDOM擴展,通常在其他瀏覽器中不可用。 – airmanx86 2010-07-08 12:43:05

+0

謝謝大家。 特別感謝Tim Down找到了適合我的解決方案。 – 2010-07-08 12:48:23

相關問題