Чтение XML с использованием jQuery не работает в ie6 и ie8 - PullRequest
1 голос
/ 22 июня 2010

Чтение XML с использованием jQuery не работает в 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 голосов
/ 23 ноября 2011

IE 6-8 неправильно читает тип MIME, поэтому вы передаете его как текстовый файл, а затем используете функцию .parseXML для преобразования его в файл XML

  $(document).ready(function() {  
 $.ajax({
    type: "GET",
    url: "menu.xml",
    dataType:"text",
    success: selectXml
});
   function selectXml (xml) {
   alert('hello');
  }
0 голосов
/ 04 апреля 2014

Это сработало для меня

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;    
}

0 голосов
/ 23 июня 2010

попробуйте это перед тем, как начать оператор $ .ajax ()

функция parseXML (xml) {
if (jQuery.browser.msie) {
var xmlDoc = новый ActiveXObject ("Microsoft.XMLDOM");
xmlDoc.loadXML (XML);
xml = xmlDoc;
}
return xml;
}

затем, в случае успеха, добавьте: var newXML = parseXML (xml);

измените ваши ссылки на xml на newXML, и вы должны быть хорошими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...