1

您好,我正在尝试从《魔兽争霸》军械库中提取我的角色标题,但我没有得到任何返回结果。我的代码如下,我的角色名称被替换为我的实际角色名称。

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
    }
    ]
} 

我哪里错了?

4

1 回答 1

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;
                  }
                }
            }                  
        }

这是在UpdateTitle您提供的 URL 成功 XHR 响应后调用的。此函数将遍历每个标题并使用json 响应中的第一个标题更新您的#title元素。selected: true

于 2014-12-29T11:15:07.487 回答