使用jQuery 2.0.0的MIME类型

使用jQuery 2.0.0的MIME类型,jquery,xml,internet-explorer,mime,Jquery,Xml,Internet Explorer,Mime,我有以下代码来解决IE本地访问XML问题: $.ajax({ type: "GET", url: options.xmlUrl, dataType: ($.browser.msie) ? "text" : "xml", success: function(data) {wrapTree(data);}, error:function(){alert(options.loadingError);} })

我有以下代码来解决IE本地访问XML问题:

    $.ajax({
        type: "GET",
        url: options.xmlUrl,
        dataType: ($.browser.msie) ? "text" : "xml",
        success: function(data) {wrapTree(data);},
        error:function(){alert(options.loadingError);}
    });

由于$.browser,它无法与jQuery 2.0.0一起使用。上的建议不再有效。有人知道应该如何调整它以与jQuery当前版本一起运行吗?

自1.9版起,jQuery中就删除了浏览器的功能,并且早在1.3版就不推荐使用了。他们建议对大多数用例进行特征检测,而不是浏览器检测

考虑到
$.browser
功能在很久以前就被弃用了,如果一个jQuery页面建议使用它,那么该页面可能也很旧——事实上,jQuery的新版本很可能根本不需要这种攻击。你有没有试着把它完全忽略掉

如果您确实需要它,可以使用,它会将从v1.9以后删除的所有不推荐的功能放回原处,包括
$.browser

但是,如果可能的话,我建议尝试找到一个不涉及此功能的解决方案,因为Migrate库旨在解决短期升级问题,而不是长期解决方案;jQuery在将来的版本中可能不支持它

我还想说,既然您使用的是jQuery2.0,那么您应该注意,这个版本不再支持IEV6、7和8。如果您需要支持较旧的IE版本,则需要坚持使用jQuery1.x。更重要的是,如果您坚持使用v2.0,那么您只支持IE v9及以上版本。我不知道这个具体问题,但它可能只是旧版IE中的一个问题,所以你可能根本不需要这个黑客。这是值得检查的


希望能有所帮助。

只需在所有情况下使用
数据类型:“text”
,然后在成功处理程序中使用
数据=$.parseXML(数据)
,在所有浏览器上将其转换为XML

查看Modernizr-它可能会对您需要了解的内容进行测试,这始终是我的第一站。值得指出的是,docs.jquery.com上的文档已经过时(如此处所述),并被api.jquery.com取代,因此不要依赖它作为一个好的源。(特别是你链接的那篇文章,它看起来确实很老了,因为它在成功代码中使用了activeX对象——yikes!)jqueryrocks,谢谢你的建议。Spudley,谢谢你。我还没有看到声明。你好,戴夫。你能告诉我如何更改完整的代码吗?$。ajax({type:“GET”,url:options.xmlUrl,数据类型:($.browser.msie)?“text”:“xml”,成功:函数(数据){wrapTree(数据);},错误:函数(){alert(options.loadingError);});函数wrapTree(data){var-xml;if(typeof-data==“string”){xml=new-ActiveXObject(“Microsoft.XMLDOM”);xml.async=false;xml.loadXML(data);}否则{xml=data;}类似这样的内容:``数据类型:“text”,成功:函数(data){wrapTree($.parseXML(data));}```