单源策略在使用XMLHttpRequest时妨碍了我

single origin policy getting in my way when using XMLHttpRequest

本文关键字:XMLHttpRequest 策略 单源      更新时间:2023-09-26

这是我的情况 - 我在一个允许API访问的网站上有一个帐户。因此,从理论上讲,我可以编写一个程序来通过其API查询站点。我想使用 javascript 构建一个本地 html 页面,它显示了从对该站点的 API 调用返回的一些结果。

我的第一个冲动是使用 XMLHttpRequest,它不会从站点返回任何内容 - 由于单一源策略,这是一个已知问题。

我无法控制 API 返回的内容 - 它是 XML 或什么都没有。

我非常想让我的解决方案保持简单 - 只有HTML和javascript,没有php,asp,c#或任何其他潜在技术的字母汤。我也没有运行自己的网络服务器。

这可能吗?有没有我忽略的一些简单的解决方案?

(我应该在这里指出,我并不是要破解网站 - 我已经在那里有一个合法帐户,他们通过他们的API让我访问网站上的数据。我只是想在我的本地机器上以更有趣的方式显示他们的数据。

如果您尝试命中的 Web 服务 API 除了 JSONP 请求之外没有,或者没有实现 Cors 标头,那么唯一的选择是创建您自己的 Web 服务,该服务要么位于您网站的同一来源上,要么实现 JSONP 或 Cors 标头,这些标头将用于使用您正在寻找的所需数据命中 Web 服务。如今,在与 Web 服务交互时,这是一个非常常见的问题。

如果API不提供jsonp,或者没有启用CORS功能,还有另一个javascript选项,那就是雅虎的YQL服务。它使用服务器代理来获取多种格式的数据,包括使用 Xpath 选择器抓取 html、抓取 xml 或 json 或 csv 以及以 xml、json 或 jsonp 格式返回数据。

这意味着使用javascript,您可以从几乎任何API获取数据

YQL 控制台链接