如何使用相同的调用访问多个JSON数据字段? (的Ajax / jQuery的)

时间:2014-01-24 14:28:35

标签: javascript jquery ajax json

早上好,

我正在尝试对来自游戏网站API(魔兽世界)的一些嵌套JSONP数据中的多个数据字段进行Ajax / jQuery调用。

当我将数据字段设置为“专业”或“项目”(并在myCallback函数中注释掉相反的数据字段)时,以下工作正常... ... HTML表格将显示答案。但它不会同时做到这两点。

在这个特定的例子中,它告诉我无法找到“primary”属性,因为“professionions”未定义。

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <title>Wreckedified Raiding</title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
    <script>
        function myCallback(data) {
            //$("#iLevelE").html(data.items.averageItemLevelEquipped);
            //$("#prof1").html(data.professions.primary[0].name);
        }
        $(document).ready(function(){
            $.ajax({
                "url":"http://us.battle.net/api/wow/character/aerie-peak/Eldershield?jsonp=myCallback",
                "type":"GET",
                "data": { fields: "items"},
                //also tried { fields: ["professions", "items"]},
                //a single data set works with { fields: "items"}
                "dataType":"jsonp",
                "contentType":"application/json",
                "jsonpCallback":"myCallback",
                "success":function(data){
                    console.log(data.items);
                    //console.log(eldershield.professions);

                }
            })
        });
    </script>
</head>
<body>
<center>
<table width="50%" border="0">
  <tr>
    <td id="prof1">&nbsp;</td>
    <td id="iLevelE">&nbsp;</td>
  </tr>
  <tr>

    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</center>
</body>

我读了另一个与此类似的stackoverflow问题,并且答案建议将ajax调用嵌套在彼此之内,如同将其中一个置于前一个“成功”触发器中。但我的印象是,通过使用呼叫中的“数据”标签,可以将多个数据集附加到一个数据集中。

为清楚起见,我希望能够访问“items”和“professionions”数据中的所有数据,以便myCallback函数中的两个语句都能正常工作。

感谢您的时间。

0 个答案:

没有答案