ie中jQuery無法解析xml檔案的解決方案

m53469發表於2021-09-09

功能描述:使用jQuery解析已經定義好內容的xml檔案

1.xml檔案:menu.xml    

        1        system        0        mainFrame                        2        company        1        mainFrame            2.自定義js檔案解析xml檔案:index.js$(document).ready(function(){    $.ajax({           url:"xml/menu.xml ",           type:"POST",            dataType:"xml",           success:function(data){                      $(data).find("menu").each(function(){                               alert("success");                               alert($(this).text());                      });           },           error:function(data){                     alert("fail:");           }    });});3.新建index.html檔案引入jQuery.js、xml檔案及index.js檔案,在ie中(任何版本)執行index.html,結果總是彈出“fail”,但是在Firefox中的結果卻是“success”。在網上搜了很多資料,最後在這篇文章上找到了解決方案。是因為ie中的限制無法正確解析xml檔案,它解析出的是一個text物件(在我引用的文章中有更詳細的解釋)所以針對這個加入判斷就可以解決了正確程式碼index.js$(document).ready(function(){    $.ajax({         url:"xml/menu.xml",         type:"POST",          dataType:($.browser.msie) ? "text" : "xml",         success:function(data){                var xml;                if( typeof data == "string" ){                         xml = new ActiveXObject("Microsoft.XMLDOM");                         xml.async = false;                         xml.loadXML(data);                } else {                         xml = data;                 }              $(xml).find("menu").each(function(){                  alert("success");                  alert($(this).text());              });        },       error:function(data){               alert("fail:");       }    });}); //**********************判斷瀏覽器 —— 簡單判斷方法*****************************

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2819/viewspace-2813256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章