【问题标题】:parsing external xml feed with jquery only works in safari使用 jquery 解析外部 xml 提要仅适用于 safari
【发布时间】:2012-07-08 14:19:37
【问题描述】:

所以我有下面的代码,它从本地托管的文件(在我的计算机上)解析不同服务器(即 www.site1.com)上的 xml 提要。它在野生动物园中完美运行。但在 chrome 或 firefox 中不起作用。

当我将 xml 提要与 html 文件(即 www.site2.com 上的两个文件)存储在同一台服务器上时,该文件在所有浏览器中都能正常解析。问题是,我需要从外部服务器解析 xml。我怎么做这个工作?可能吗?

我觉得我什么都试过了。回调函数、jsonp.js 文件和各种 jquery 选项。但没有骰子。如果有人有任何建议,我将不胜感激!谢谢!

$.ajax({
  type: "GET",
  url: "http://www.otherwebsite.com/external_feed.atom",
  dataType: "xml",
  success: parseXml
});

【问题讨论】:

    标签: jquery xml safari jsonp


    【解决方案1】:

    看看你的控制台。您正在执行跨域 ajax 请求。实现跨域解析的唯一方法是使用 jsonp。您从哪里获取 xml 提要?也许我可以帮助您并尝试看看他们是否有 jsonp 示例。这是一个 jsonp url http://www.kiabuzz.co.za/?feed=json&callback=? 的示例。将其粘贴在上面,您将看到问题将消失。显然数据类型将是 json 而不是 xml。

    如您所见,如果文件在服务器上,问题就会消失。您能否提供您尝试从中获取 xml 提要的网址?

    【讨论】:

    • 感谢您的快速回复!欣赏它。是的,你是对的。该 kiabuzz 链接解析得很好。所以它一定是我正在尝试使用的提要。 here is the one i am trying to parse
    • 我找到了网址“livingsocial.com/services/city/v2/cities?&callback=?”。问题是返回的数据被包装在一个数组中,所以不是命中成功回调,而是命中错误回调。由于返回的数组,错误是“parseError”。我正在寻找一种方法来解决这个问题。
    • 非常感谢!如果我有 15 个声望,我会投票给你无限。
    • 如果它对您有帮助,您可以将答案标记为正确 :) 还没有时间找到解决包裹在数组中的 json 的方法。如果您遇到解决方案,请发布,因为我很好奇。
    • 这很奇怪,因为它在 safari 中解析得很好。我会继续努力,一定会在这里发布我的结果,我会找到任何东西!再次感谢您的帮助:)
    猜你喜欢
    • 2011-01-01
    • 2016-01-17
    • 2014-03-18
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2011-02-04
    相关资源
    最近更新 更多