jquery - 有没有办法在 jQuery 中获取类似 JSONP 的 XML 提取?

标签 jquery xml json jsonp

对于我正在开发的 Web 服务,我希望我的嵌入式代码(在客户端站点上)从驻留在我的域中的服务器脚本中获取 XML 文件。

由于这是一个跨域请求,我想使用 JSONP,因为它似乎是此类 API 的实际标准。但是,对于我的应用程序,使用 XML 而不是 JSON 对我来说会更容易。现在,我当然可以在服务器上将我的 XML 转换为 JSON,然后在客户端站点的 JavaScript 中再次转换回 XML,但这似乎是不必要的麻烦。我真正需要的是 XMLP 解决方案,带填充的 XML。

我厌倦了谷歌搜索,但找不到解决方案。有谁知道一个简单的解决方案?

最佳答案

你可以使用类似 Yahoo! Query Language 的东西(YQL) 使您不必为 XML 文件编写另一种输出格式。

例如,要通过 JSONP-X 获取此问题的 XML 提要,您可以使用如下 YQL 查询 URL:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20xml%20where%20url%3D%27http%3A%2F%2Fstackoverflow.com%2Ffeeds%2Fquestion%2F2671143%27%20and%20itemPath%3D%27feed.entry%27&callback=my_jsonpx_handler

[Try this query in the YQL console]

这会为您提供如下结果;有效地将 XML 包装在 JSON 回调中:

my_jsonpx_handler({"query":…,"results":["<entry xmlns=\"http://www.w3.org/2005/Atom\">\n <id>http://stackoverflow.com/questions/2671143/is-there-an-existing-tool-for-jsonp-like-fetching-of-xml-in-jquery<\/id>\n <re:rank xmlns:re=\"http://purl.org/atompub/rank/1.0\" scheme=\"http://stackoverflow.com\">0<\/re:rank>…"]});

然后您的小部件可以查询 YQL URL 以获取它们的数据,这些数据反过来将与您服务器上的 XML 文件通信(具有缓存、速度等作为额外的好处)。

关于jquery - 有没有办法在 jQuery 中获取类似 JSONP 的 XML 提取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2671143/

相关文章:

jquery - 将 Integer 替换为 Ajax Jquery Laravel 4.2 BLADE 中的字符串

ios - 如何在 Swift 中获取 X509Certificate 字段

php - 将 PHP 响应输出为 XML

sql - 如何以通用方式处理来自 XML 输入的 SQL DateTime 转换

java - 如何从没有特定名称的 JSONObject 中获取字符串

jquery - 如何从任何域获取 cookie (jquery.cookie.js)?

jquery - 使用 jQuery 在发布之前修改 POST 变量

javascript - 如何判断 Javascript 替换函数中是否发生了替换?

php - 按键名对深度多维数组或生成的 JSON 进行排序

ios - 将 JSON 数据绑定(bind)到 TableView 和 CollectionView