早上好,
我正在尝试对来自游戏网站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"> </td>
<td id="iLevelE"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</center>
</body>
我读了另一个与此类似的stackoverflow问题,并且答案建议将ajax调用嵌套在彼此之内,如同将其中一个置于前一个“成功”触发器中。但我的印象是,通过使用呼叫中的“数据”标签,可以将多个数据集附加到一个数据集中。
为清楚起见,我希望能够访问“items”和“professionions”数据中的所有数据,以便myCallback函数中的两个语句都能正常工作。
感谢您的时间。