使用jQuery的XML读取在ie6和ie8中不起作用

时间:2010-06-22 13:43:26

标签: jquery xml internet-explorer parsing

使用jQuery的XML读取在ie6和ie8中不起作用。我已经使用了下面的代码..警报没有进入ie8,ie6,我没有测试过其他Internet Explorer版本。

$(document).ready(function()
{
    $.ajax({
        type: "GET",
        url: "xml/contextMenu.xml",
        dataType: "xml",
        success: function(xml) {
            alert('hi');            
        }
    });
});

但它正在使用mozilla firefox 3.6.3。 任何人都知道可能是什么问题...... 请帮帮我......

3 个答案:

答案 0 :(得分:0)

IE 6-8没有正确读取mime类型,因此您将其作为文本文件传递,而不是使用.parseXML函数将其转换为xml文件

  $(document).ready(function() {  
 $.ajax({
    type: "GET",
    url: "menu.xml",
    dataType:"text",
    success: selectXml
});
   function selectXml (xml) {
   alert('hello');
  }

答案 1 :(得分:0)

这对我有用

function text2XML(txt)
{
    var xmlDoc;
    if (window.DOMParser)
    {
        xmlDoc=(new DOMParser()).parseFromString(txt,"text/xml");
    }
    else
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false";
        xmlDoc.loadXML(txt);
    } 
    return xmlDoc;    
}

答案 2 :(得分:-2)

在启动$ .ajax()语句

之前尝试此操作

function parseXML(xml){
if(jQuery.browser.msie){
var xmlDoc = new ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.loadXML(XML);
xml = xmlDoc;
}
return xml;
}

然后,成功地添加: var newXML = parseXML(xml);

将xml的引用更改为newXML,你应该很好。