【问题标题】:IE8 not reading my XML properly with jQuery/jsonpIE8 无法使用 jQuery/jsonp 正确读取我的 XML
【发布时间】:2011-03-08 16:05:52
【问题描述】:

我正在使用 jsonp 调用 (jQuery.getJSON),返回的数据是 XML。 我可以在 FF 和 IE9 中很好地阅读它,但它不适用于 IE8。

我无法使用this SO question 中建议的 dataType 解决方案,因为我使用的是 jsonp 调用。在回调中我解析 XML

$(xml).find("title").text()

在 FF 和 IE9 上运行良好,在 IE8 上失败。 我能做些什么 ? PS:使用jQuery1.4

【问题讨论】:

  • 失败怎么办?在 IE 中出现 FAIL 消息?其他方式?
  • 什么都没有,没有消息。如果我提醒结果它只是空的。

标签: jquery internet-explorer-8


【解决方案1】:

您正在使用 getJSON,它“使用 GET HTTP 请求从服务器加载 JSON 编码的数据。”,并返回 XML 编码的数据?
我认为有你的问题。

尝试使用 jQuery.get 代替 dataType 'xml',但它应该可以在没有:
jQuery.get(url, [数据], [成功(数据, textStatus, jqXHR)], [数据类型])

jQuery.getJSON
jQuery.get

【讨论】:

  • 是的,我确实在使用 getJSON。服务器返回一个 json 编码的数据,因此 dataType=json,但是该数据的内容是我需要查询的 XML。我会尝试你的想法并报告。
  • 确实尝试了使用 $.ajax 调用的选项...效果不佳。
  • 如果我理解得很好,您的 xml 包含 吗?可能IE8不支持这个标签。
  • 我昨天在 IE8 上遇到了 jQuery('') 的问题。我将它切换到 jQuery('', {'class':'title'})。
【解决方案2】:

我认为问题在于 IE8 为 HTML 文档保留了标题标签。尝试在 XML 数据中使用它失败。我建议一个简单的技巧,我刚刚在标题标签名称被替换为“titlex”的项目中使用这将击败 ie8 并允许您检索 XML 文件(如 RSS 提要)中的标题元素。

xml = xml.replace(/title/g, 'titlex'); //hack for ie8
var title = $(this).find('titlex').text(); //success!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2012-03-09
    • 1970-01-01
    相关资源
    最近更新 更多