gpt4 book ai didi

jquery - 在 Firefox 中使用 jQuery 解析 XML 时出现问题

转载 作者:行者123 更新时间:2023-12-01 06:01:04 25 4
gpt4 key购买 nike

我正在使用 JavaScript/jQuery 尝试解析通过 AJAX Get 请求获取的 XML 文档。我无法发布 XML 文档,但它格式良好,并且存在我要查找的标签。 AJAX 请求成功并在 Chrome 和 Firefox 中返回完整的 XML 文档 —— 现在由于某种原因我无法解析它。该代码可以在 Chrome 中运行,但不能在 Firefox 或 IE 中运行。我现在对 IE 不太感兴趣,但我不明白为什么它不能在 Firefox 中运行。

JavaScript:

window.onload = function getGroupSets() {
$.ajax( {
type: "GET",
dataType: "application/xml",
url: '../api/indicatorGroupSets.xml',
success: function( xml ) {

/*Find Indicator Group Set tags in XML file */

alert($(xml).find('indicatorGroupSet').length);
//This alert reads '0' in Firefox, '4' in Chrome
//The following function is not executed in Firefox:

$( xml ).find( 'indicatorGroupSet' ).each( function( ) {

/*For each Set, get the name & ID*/

var groupSet = {
name: $( this ).attr( 'name' ),
id: $( this ).attr( 'id' )
};
alert(groupSet.name);
//Nothing displays here
} );
},
error: function( jqXHR, textStatus, errorThrown ) {

/*If an error occurs, alert the issue and a message to users */

alert( jqXHR + ':' + textStatus + ':' + errorThrown + '\nThere has been an error, please refresh the page or contact the site administrator if the problem persists.' );
}
} );
}

我一整天都在寻找解决方案,但一切似乎都与解析器如何在 IE 中无法工作有关,而在 Firefox 中对此问题的了解不多。

感谢您的任何意见!

最佳答案

尝试告诉 jQuery 您正在加载 HTML。根据我的经验,jQuery 无法在 Firefox 中遍历 XML。某些未知的特定条件可能会触发此行为。

$.get("example.xml", function(data) {
....
}, "html");

如果您的文档包含命名空间,则有必要使用 localName 属性遍历文档:

if (this.localName === "c:tagname") {
....
}

如果不包含命名空间,则可以使用普通的 jQuery 功能来导航文档:

if ($(this).is("tagname")) {
....
}

远谈不上漂亮,但完成了工作。至少在 Firefox 中是这样。 :)

关于jquery - 在 Firefox 中使用 jQuery 解析 XML 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11447754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com