JQuery 不循环浏览 IE 上的 XML

标签 jquery xml internet-explorer

以下内容在 Chrome 和 Firefox 中运行良好,但在 IE 中不起作用。它正在 IE 中获取数据(我可以在控制台中看到它) - 但它没有循环通过 .each:

function searchServing(which,choice){
var url = "search.asp?" + which + "=" + choice;

$.get(url, function(data){  
    console.log("data" + data);
    $.each($(data).find("company"),function(index, el) {
        loc = $(this).find('Location').text();
        console.log("loc: "+ loc);
    });
})//$.get(url, function(data){
.error(function() {

})//.error(function() {
.success(function(data) { 
        $.each($('company',data),function(index, el) {
            loc = $(this).find('Location').text();
            console.log("location: "+ loc);
        }
    }
}

XML 的格式如下:

 <company>
    <sql><%=sSQL%></sql>
    <uid><%=uid%></uid>
    <companyName><%=company%></companyName>
    <location><%=location%></location>
    <phone1><%=phone1%></phone1>
    <phone2><%=phone2%></phone2>
    <phone3><%=tollfree%></phone3>
    <serving><%=serving%></serving>
</company>

最佳答案

首先,IE 并不总是喜欢 console.log,所以删除它。

其次,如果标记名是小写的,则在尝试查找它时使用小写字母。

第三,使用var关键字,并且不要在循环内将变量声明为全局变量。

最后但并非最不重要的一点是,XML 应该使用 $.parseXML 进行解析,如下所示:

function searchServing(which, choice) {
    var url = "search.asp?" + which + "=" + choice,
        loc = []; //use array if iterating several values
    $.get(url, function(xml) {
        var xmlDoc = $.parseXML(xml),
            $xml = $(xmlDoc);
        $.each($xml.find("company"), function(index, el) {
            loc.push($(el).find('location').text());
        });
    });
}​

关于JQuery 不循环浏览 IE 上的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14105434/

相关文章:

jquery - 如何使用 CSS 或 jQuery 强制内联 block 换行到新行?

jQuery 在调整大小时更改 img 的宽度有效,但在最大化时无效

xml - 当元素具有多于 1 个属性时的 DTD

javascript - 当包含 &lt;script&gt; 标签时,jQuery.html() 会破坏 IE11 中的 onclick 处理程序

javascript - 使用 jQuery 定位父窗口

javascript - 如何通过单击按钮隐藏具有动态生成 ID 的表单

wordpress - 我的 Wordpress 站点在 Internet Explorer 上崩溃

html - 我怎样才能修复它在 chrome 中的样子

java - 在eclipse中添加文件路径

php - 我将 Goodreads API 结果从 XML 转换为 JSON 的方法出了什么问题?