单源策略在使用XMLHttpRequest时妨碍了我
single origin policy getting in my way when using XMLHttpRequest
这是我的情况 - 我在一个允许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 控制台链接
- XMLHttpRequest未返回值-状态202
- XMLHttpRequest在移动设备上的chrome上不起作用
- AJAX简单错误.XMLHttpRequest无法加载http://localhost/mpl/getPage.php.
- 检查xmlhttprequest问题的消息
- 主线程上的同步XMLHttpRequest已弃用
- 如何定期发出xmlhttprequest
- javascript第三个XMLHttpRequest被拒绝.但前两个是允许的
- 上传带有XMLHttprequest的文件-多部分/表单数据中缺少边界
- 对象#<XMLHttpRequest>没有方法'完成'
- 在XMLHttpRequest之后重新初始化jQuery
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- Javascript XMLHttpRequest——只有第一个POST请求有效
- XMLHttpRequest - difference between Chrome & Firefox
- IE上的新XMLHttpRequest()出现JS Ajax未指定错误
- 非常简单的XMLHttpRequest不起作用
- 如何使用XMLHttpRequest下载文件
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- XMLHttpRequest.open()AJAX中的参数url
- XMLHTTPRequest脚本中没有internet连接和超时
- 为什么当async标志设置为false时,xmlhttprequest中的代码可以工作,而当它设置为true时却不能工作