我遇到的主要问题是游戏的图像无法加载:它只是在运行搜索时一直说未定义。
我的第二个问题是我想将其更改为搜索;目前它有一个设定值,我想让用户输入自己的标题。
我已将我的代码链接到
下面<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url: "http://api.giantbomb.com/search/",
type: "get",
data: {api_key : "key here", query: "star trek", resources : "game", field_list : "name, resource_type, image", format : "jsonp", json_callback : "gamer" },
dataType: "jsonp"
});
});
function gamer(data) {
var table = '<table>';
$.each( data.results, function( key, value ) {
table += '<tr><td>' + value.image + '</td><td>' + value.name + '</td><td>' + value.resource_type + '</td></tr>';
});
table += '</table>';
$('#myelement').html(table);
}
</script>
</head>
<body>
<h1>Game Search</h1>
<input id="game" type="text" /><button id="search">Search</button>
<div id="myelement"></div>
</body>
</html>
答案 0 :(得分:1)
改变了两件事:
field_list : "name, resource_type, image"
至field_list : "name,resource_type,image"
修复了图片&#39;为空。
image
返回一个对象:使用icon_url
,medium_url
,screen_url
,small_url
,super_url
,{{1 }或thumb_url
请参阅此fiddle(更改apiKey以进行测试)
tiny_url
答案 1 :(得分:0)
它似乎未定义,因为不仅仅是“图像”。
来自回复的json部分:
"image": {
"icon_url": "http://static.giantbomb.com/uploads/square_avatar/10/103881/1711377-stp1.jpg",
"medium_url": "http://static.giantbomb.com/uploads/scale_medium/10/103881/1711377-stp1.jpg",
"screen_url": "http://static.giantbomb.com/uploads/screen_medium/10/103881/1711377-stp1.jpg",
"small_url": "http://static.giantbomb.com/uploads/scale_small/10/103881/1711377-stp1.jpg",
"super_url": "http://static.giantbomb.com/uploads/scale_large/10/103881/1711377-stp1.jpg",
"thumb_url": "http://static.giantbomb.com/uploads/scale_avatar/10/103881/1711377-stp1.jpg",
"tiny_url": "http://static.giantbomb.com/uploads/square_mini/10/103881/1711377-stp1.jpg"
}
您需要将其称为value.image.medium_url并将其置于img标记中:
'<tr><td><img src="' + value.image.medium_url + '"/></td><td>'