2010-09-22 49 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服務已關閉。