溢出!
我目前正在做一个小工具,我必须在星期一上学。我没有太多时间做大事。所以我决定,为什么不检索Steam的Web Api信息并获取玩家的统计数据。
最后一个参数&steamid=
代表玩家的ID。现在我已经找到了如何将steamid转换为变量,但是在尝试将id添加到url的其余部分(http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=DA697BB2D106697D5F8AC7E7A2BFAC52&steamid= id should be here
并使用Ajax.getJson
方法获取数据时..它只是不起作用..我是非常有经验的JSON btw ..有人可以帮我解决这个问题吗?
我的网页:
<!DOCTYPE html>
<html lang="en">
<head>
<!--Meta Information-->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--JQuery Mobile-->
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<!--FontAwesome-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<!--Custom Styles-->
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div data-role="page" id="index">
<div data-role="header">
<h1>CS:GO Stats</h1>
</div>
<div data-role="main" class="ui-content">
<div class="search">
<label for="search">Enter SteamID:</label>
<input type="search" name="search" id="inputSearch" />
<input type="submit" id="butSearch" data-inline="true" value="Search SteamID">
</div>
<div id="result">
</div>
</div>
</div>
<!--getSteamUserId function-->
<script src="js/getSteamUserId.js"></script>
</body>
</html>
我的Javascript代码:
$(document).ready(function() {
$('#butSearch').click(function(event) {
var input = $('#inputSearch').val();
$.getJSON( "http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=DA697BB2D106697D5F8AC7E7A2BFAC52&steamid=" + input, function( data ) {
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + val + "</li>" );
});
$( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "#result" );
});
})
})
现在我想要的是将JSON文件中的统计数据导入我的网页。谁会知道怎么做?我还可以看到JSON不仅是一个扁平的JSON文件..就像它有不同的层(如果这是一个很好的explenation)..
提前致谢!
答案 0 :(得分:1)
像这里一样使用jsonP:
$.ajax({
url: url,
dataType: 'JSONP',
type: 'GET',
jsonp: 'jsonp',
success: handler
});
工作示例here
答案 1 :(得分:1)
我对第一部分并不完全确定。它给我一个错误,在谷歌搜索后引导我"No 'Access-Control-Allow-Origin' header is present on the requested resource"建议使用CORS。错误:
XMLHttpRequest无法加载http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=DA697BB2D106697D5F8AC7E7A2BFAC52&steamid=&76561198263871727。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上。起源&#39; null&#39;因此不允许访问。响应的HTTP状态代码为400。
一旦拥有JSON,它就会变得更容易。如果它是字符串化的,您可以使用
将其转换为javascript对象steamObject = JSON.parse(steamJsonData);
然后像普通的javascript对象一样浏览它。使用for循环遍历playerstats.stats [i],您可以使用正常的DOM操作将数据添加到页面中。