0

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

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

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

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

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

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

4

2 回答 2

0

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

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

YQL 控制台链接

于 2013-11-11T02:51:13.753 回答
0

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

于 2013-11-11T02:24:45.960 回答