【问题标题】:access steam web API using AJAX Jquery使用 AJAX Jquery 访问 Steam Web API
【发布时间】:2016-12-06 09:00:06
【问题描述】:

我想尝试从 API 获取数据,但我得到了

请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问 Origin 'null'。

我无法更改 API 的内容,所以我无法使用 JSONP

到目前为止,我都尝试过这些:

$.getJSON('http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=keyhere&format=json&steamids=76561197970938759', function(data) {
  console.log(data);
});

$.get("http://www.api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=keyhere&format=json&steamids=76561197970938759", function(data) {
  console.log(data);
});

$.ajax({
  type: 'GET',
  url: 'http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v2/?key=keyhere&format=json&steamids=76561197970938759',
  dataType: "json",
  success: function(data) {

    console.log(data)
  }


});

【问题讨论】:

    标签: ajax api steam steam-web-api steamworks-api


    【解决方案1】:

    据我所知,如果服务器没有在其标头中启用跨源请求,那么如果您在不同的域中,浏览器将不会接受对其进行 ajax 调用。

    您可以使用您的服务器获取数据,然后将其发送到客户端,例如使用CORS-Proxy,或者甚至使用像CrossOrigin.me 这样为您进行代理的网站。

    【讨论】:

    • 使用CrossOrigin.me. 会不会对我或提供数据的一方有一些安全风险?
    • @guradio Crossorigin.me 在技术上能够看到通过其服务器的所有内容,但 GetPlayerSummaries 并不真正包含任何私人信息,因此唯一可能被盗的是您的 api 密钥,如果你别无选择,仍然没什么大不了的。
    猜你喜欢
    • 1970-01-01
    • 2017-11-08
    • 2013-01-26
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多