2014-12-29 61 views
1

您好,我正在嘗試從魔獸世界中提取角色標題,但我沒有收到任何返回的結果。我的代碼如下,我的人物名稱被替換爲我的實際人物名稱。WoW Armory APi - 無法獲得標題

HTML

<li>Title Prefix: <span id="title">Test</span> 

的Javascript

$(window).load(function getSite(){ 
      $.ajax({     
       url: "http://eu.battle.net/api/wow/character/server/character?fields=titles&jsonp=GoGet", 
       type: 'GET', 
       dataType: 'jsonp', 
       }); 
      } 

     ); 

     function GoGet(data) { 


      $("#title").html(data.titles.name)    
     ;} 

的API文檔顯示 「標題」 json的項目如下:

{ 
"achievementPoints": 675, 
"battlegroup": "Test Battlegroup", 
"calcClass": "f", 
"class": 10, 
"gender": 1, 
"lastModified": 1348187981118, 
"level": 90, 
"name": "Peratryn", 
"race": 25, 
"realm": "Test Realm", 
"thumbnail": "test-realm/1/1-avatar.jpg", 
"titles": [ 
    { 
    "id": 285, 
    "name": "%s, Savior of Azeroth", 
    "selected": true 
    } 
    ] 
} 

我要去哪裏錯了?

+0

你從服務器回來了什麼? –

+0

完整的標題列表以及我選擇的標題,我無法讓我的代碼吐出來。 – Yanayaya

+1

'titles'看起來像一個數組。 –

回答

3

並非是一個WOW玩家自己,我斗膽猜測:

 $(window).load(function getSite(){ 
      $.ajax({     
       url: "http://eu.battle.net/api/wow/character/server/character?fields=titles&jsonp=GoGet", 
       type: 'GET', 
       dataType: 'jsonp', 
       success: UpdateTitle 
       }); 
      } 

     ); 

     function UpdateTitle(response) { 
      if (response.titles) { 
       for (var i = 0; i < response.titles.length; i++) { 
        if (response.titles[i].selected === true) { 
         $("#title").html(response.titles[i].name); 
         break; 
        } 
       } 
      }     
     } 

這是什麼東西做的從你提供的URL成功XHR響應後調用UpdateTitle。該函數將遍歷每個標題,並使用json響應中的FIRST selected: true標題更新#title元素。

+0

哈,好電話。更新以包括索引0.顯然Yanayaya可以做更聰明的事情,使用列表,檢查數據等。 –

+0

感謝這個作品,如果你知道你想要選擇的標題,你只需更改值,但我需要選擇標題被選中,這可以通過訪問「selected:true」資源來完成嗎? – Yanayaya

+0

更新後檢查選定的屬性。 –