【发布时间】:2017-09-09 12:23:23
【问题描述】:
我正在尝试从API by suredbits 获取免费的 NFL 数据。不幸的是,在他们的标题中,他们没有添加Access-Control-Allow-Origin,这会产生 CORS 问题。当我尝试运行这样的代码时......
$.getJSON("http://api.suredbits.com/nfl/v0/stats/jones/julio", function(playerData) {
alert(playerdata);
}
我不断收到此错误No 'Access-Control-Allow-Origin' header is present on the requested resource.
所以基本上,他们有什么方法可以通过客户端解决错误吗?
【问题讨论】:
-
不,因为 CORS 保护资源 - 您可以通过 您的 服务器代理请求,然后 CORS 不是问题
-
这就是我在 stackoverflow 上阅读了几乎所有关于此的问题后才意识到的。是否有任何教程或任何东西可以教我如何做到这一点?
-
取决于您的服务器端技术
-
您可以在服务器端拨打电话。我不认为这是他们的错误,他们只是不想被互联网范围内的任何随机浏览器调用。
-
我不得不承认 API 不包含该标头有点奇怪。我认为目前最好的办法是联系 SuredBits (twitter.com/suredbits) 并询问这是否是一个错误,或者他们是否有任何替代方法可以从 JS 查询数据(使用令牌?)。从 JS 获得这项工作的唯一其他选择是在您的 Web 服务器上设置代理 - 这意味着它是您自己的服务器从 API 获取数据然后将其返回到您的脚本(从而避免 CORS 问题)。
标签: javascript api cors