WoW Armory APi - 无法获得标题

时间:2014-12-29 11:08:07

标签: javascript rest world-of-warcraft

你好我试图从魔兽军械库中取出我的角色头衔,但我没有得到任何返回的结果。我的代码如下,我的角色名称被替换为我的实际角色名称。

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文档显示&#34;标题&#34;的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
    }
    ]
} 

我哪里错了?

1 个答案:

答案 0 :(得分: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;
                  }
                }
            }                  
        }

这样做是在您提供的网址成功进行XHR响应后调用UpdateTitle。此函数将循环遍历每个标题,并使用json响应中找到的FIRST #title标题更新selected: true元素。