对xml文件的Jquery ajax调用在safari bot中有效,而不是在IE6中,为什么?

对xml文件的Jquery ajax调用在safari bot中有效,而不是在IE6中,为什么?,jquery,Jquery,我正在尝试使用jQueryAjax函数加载xml文件,它在safari中运行良好,但在IE6中失败,有什么原因导致这种情况吗 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

我正在尝试使用jQueryAjax函数加载xml文件,它在safari中运行良好,但在IE6中失败,有什么原因导致这种情况吗

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link rel="stylesheet" type="text/css" media="all" href="style.css" />
        <script type="text/javascript" src="jquery.js"></script>
        <title>Reading XML with jQuery</title>
         <script>
            $(document).ready(function(){
                $.ajax({
                    type: "GET",
                    url: "sites.xml",
                    dataType: "xml",
                    success: function(xml) {
                        $(xml).find('site').each(function(){
                            var id = $(this).attr('id');
                            var title = $(this).find('title').text();
                            var url = $(this).find('url').text();
                            $('<div class="items" id="link_'+id+'"></div>').html('<a href="'+url+'">'+title+'</a>').appendTo('#page-wrap');
                            $(this).find('desc').each(function(){
                                var brief = $(this).find('brief').text();
                                var long = $(this).find('long').text();
                                $('<div class="brief"></div>').html(brief).appendTo('#link_'+id);
                                $('<div class="long"></div>').html(long).appendTo('#link_'+id);
                            });
                        });
                    }
                });
            });
         </script>
    </head>
    <body>
        <div id="page-wrap">
            <h1>Reading XML with jQuery</h1>
         </div>
    </body>
    </html>

用jQuery读取XML
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“sites.xml”,
数据类型:“xml”,
成功:函数(xml){
$(xml).find('site').each(function(){
var id=$(this.attr('id');
var title=$(this.find('title').text();
var url=$(this.find('url').text();
$(“”).html(“”).appendTo(“#换页”);
$(this).find('desc').each(function(){
var-brief=$(this.find('brief').text();
var long=$(this.find('long').text();
$('').html(简写).appendTo('#link"+id);
$('').html(长).appendTo('#link'+id);
});
});
}
});
});
用jQuery读取XML

谢谢

我有两个想法给你:

  • 我相信一些浏览器的xml实现是区分大小写的。确保您的
    $(xml)。如果xml有
    可能无法工作,请查找('site')

  • 如果sites.xml是本地文件,那么使用ajax加载它时可能会遇到问题。按照manraj82的建议,尝试将其放在Web服务器上


  • 你看到了什么问题?safari中的响应xml是否正确?如果不尝试将url:“/sites.xml”替换为url:“/sites.xml”,safari中的响应很好,没有问题。我试着像u建议的那样改变路径,但在IE6中没有什么乐趣。它仍然是一样的,只是空白。我只是在谷歌上搜索了一下,有人引用了“IE对jQuery在本地文件系统上处理XML的方式有问题。如果你在服务器上上传相同的代码,它会毫无问题地工作。”这是真的吗?谢谢你的回答,这很奇怪,但在IE中从web服务器查看时,它可以工作。。。xml是一个本地文件[开发机器],我真的不明白为什么IE6失败了,它和mimetype有关吗??