跨域JSONP XML响应

跨域JSONP XML响应,第1张

跨域JSONP XML响应

正如上面的评论中提到的那样,除非您能够控制吐出XML的应用程序并可以使用格式化技巧来“欺骗”脚本以将其解析为JSON,否则javascript的跨域xml是不行的。如果您可以这样做,那么问题就必须是为什么不首先将格式设置为JSON?所以…选项

  1. 格式化应用程序的输出以使用JSONP进行处理。假设您无法在这种情况下这样做…
  2. 在您的网络服务器上使用本地代理。PHP,python或任何其他没有跨域限制的语言都提供了许多简单的代理示例。至于页面上的脚本,则是本地AJAX请求。如果你做不到,那…
  3. 一种可能性是使用像yql这样的中介。yql和jquery可以解决许多这些xml问题。当然,不利的一面是您通过无法控制的第三方发送邮件。

像这样:

// find some demo xml - DuckDuckGo is great for this    var xmlSource = "http://api.duckduckgo.com/?q=StackOverflow&format=xml"// build the yql query. Could be just a string - I think join makes easier reading    var yqlURL = [        "http://query.yahooapis.com/v1/public/yql",        "?q=" + enpreURIComponent("select * from xml where url='" + xmlSource + "'"),        "&format=xml&callback=?"    ].join("");// Now do the AJAX heavy lifting $.getJSON(yqlURL, function(data){        xmlContent = $(data.results[0]);        var Abstract = $(xmlContent).find("Abstract").text();        console.log(Abstract);    });

当然,在该示例中,您要带回所有xml数据并在本地进行搜索-该选项可以调整select语句以带回您想要的内容。

希望能有所帮助



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存