2010-09-22 53 views
0

有人可以请给我一个如何访问使用jquery ajax的示例如何访问Halo: Reach stats API晕范围统计信息API?

这里是使出:

GetGameHistory

此功能用于通过游戏玩家的历史浏览(System.String,System.String,System.String,System.String)。

参数

标识:您的应用程序的标识字符串。 gamertag:目标玩家的玩家标签。 variant_class:要获取的变体游戏类。有效值为“Campaign”,“Firefight”,“Competitive”,“Arena”,“Invasion”,“Custom”。通过“未知”获得所有游戏。 iPage:从第0页开始的结果页面。

返回值 GameHistoryResponse对象,其中包含与您指定的标准匹配的游戏列表。

http://www.bungie.net/api/reach/reachapijson.svc /播放/ gamehistory/{标识}/{玩家代号}/{variant_class_string}/{的iPage}

这里是我的尝试:

var apikey  = 'xxx'; 
var gamertag = 'The Hailwood'; 
var variant  = 'Competitive'; 
var page  = '0'; 
var url = 'http://www.bungie.net/api/reach/reachapijson.svc/player/gamehistory/'+apikey+'/'+gamertag+'/'+variant+'/'+page; 

$(document).ready(function() { 
    $.ajax({ 
    url: url, 
    success: function(data) { 
     $('#return').html(data); 
    } 
    }); 
}); 

但是我得到XMLHttpRequest cannot load http://www.bungie.net/api/reach/reachapijson.svc/player/gamehistory/xxx/The%20Hailwood/Competitive/0. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

这是什么意思?


更新:
好了,所以我通过设置适当的权限固定它。

但现在我正在从服务器获得400响应。

任何想法会导致这种情况?


UPDATE2:
API是不可操作!因此为什么它不工作:(

+0

该API现在可用。您必须重新生成API密钥并注册Bungie Pro帐户,并且您的请求将开始工作。如果你需要一个围绕这些服务的C#封装,请查看http://haloreachapi.codeplex.com。 – Jacob 2010-10-03 01:17:22

+0

干杯, 它的PHP对我来说,但谢谢你的头。 – Hailwood 2010-10-03 09:15:48

回答

1

这意味着你从本地主机URL访问着它,尝试把它在您的服务器/主机,给它有一个测试。然后,它应该工作

+0

这实际上是在google chrome扩展中运行的,所以错误是'XMLHttpRequest无法加载http://www.bungie.net/api/reach/reachapijson.svc/player/gamehistory/xxx/The%20Hailwood/Competitive/0 。 Origin chrome-extension:// melchgapfmhmlefkbddmhajikciefnni不被Access-Control-Allow-Origin所允许。 – Hailwood 2010-09-22 10:59:55

+0

我期望这是因为您正在从扩展中请求数据,而不是从真正的url请求数据。虽然我不知道任何关于chrome-ext的事情。 – JamesStuddart 2010-09-22 11:05:56

+1

是的,我修好了。我必须给该域的扩展权限。 但请参阅我的更新。 – Hailwood 2010-09-22 11:10:27

0

400只一个通用的错误请求,但它意味着服务器认为(可能是在撒谎,可能是错误的),其东西不对您的要求的客户范围 - 但,所以它的服务器来提供额外它可能是从字面上什么与响应的细节来帮助你。

1

不要紧,你作为。现在一个什么PI服务已关闭。