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

Javascript 如何使用同一调用访问JSON数据的多个字段?(Ajax/jQuery),javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,早上好 我正在尝试对游戏网站API(魔兽世界)中的一些嵌套JSONP数据中的多个数据字段进行Ajax/jQuery调用 当我将数据字段设置为“professions”或“items”(并在myCallback函数中注释掉相反的字段)时,下面的操作很好。。。HTML表格将显示答案。但两者都不行 在这个特定的示例中,它告诉我无法找到“primary”属性,因为“professions”未定义 <head> <meta http-equiv="content-type" co

早上好

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

当我将数据字段设置为“professions”或“items”(并在myCallback函数中注释掉相反的字段)时,下面的操作很好。。。HTML表格将显示答案。但两者都不行

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

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

破坏性袭击
函数myCallback(数据){
//$(“#iLevelE”).html(data.items.averageItemLevel);
//$(“#prof1”).html(data.professions.primary[0].name);
}
$(文档).ready(函数(){
$.ajax({
“url”:”http://us.battle.net/api/wow/character/aerie-peak/Eldershield?jsonp=myCallback",
“类型”:“获取”,
“数据”:{字段:“项”},
//还尝试了{fields:[“professions”,“items”]},
//单个数据集处理{fields:“items”}
“数据类型”:“jsonp”,
“contentType”:“application/json”,
“jsonpCallback”:“myCallback”,
“成功”:功能(数据){
console.log(数据项);
//控制台日志(接骨木屏蔽);
}
})
});
我读了另一个与此类似的stackoverflow问题,一个答案建议将ajax调用嵌套在彼此之间,如中所示,将一个放在前一个问题的“成功”触发器中。但我的印象是,通过使用调用中的“data”标记,可以将多个数据集附加到一个数据集中

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


谢谢您的时间。

字段:“专业”,字段:“项目”
这会使一个字段覆盖另一个字段,您可能希望它成为一个数组,其中包含两个字段:
字段:[“专业”,“项目”]
谢谢您,埃文斯先生。嗯,不,我不是老师,洛莉亚,对不起,马上编辑了这篇文章,那是约瑟夫·埃文斯,不是帕特里克:)虽然Dreamweaver同意语法是正确的,但它仍然不起作用。事实上,我甚至无法获得任何项目或专业的控制台打印输出。如果我只返回到数据块中的单个字段,它就会工作。