jQuery的AJAX请求返回不同的JSON比预期
我试图从NBA.comjQuery的AJAX请求返回不同的JSON比预期
通过AJAX(jQuery的)请求JSON文件我第一次尝试获取JSON文件,但有一个CORS错误,所以我尝试使用JSONP
这会返回一个对象,但该对象看起来像是充满了函数和方法,而不是我请求的数据。
我做了这个就codepen这样你就可以检查出来,输出可以与开发者控制台进行检查,因为文件撰写刚刚返回的翻译:
这里是链接到codepen:http://codepen.io/kyriediculous/pen/KNKZZL
$(document).ready(function() {
function getPlayerGameLogs() {
$.ajax ({
url: "http://stats.nba.com/stats/commonplayerinfo?LeagueID=00&PlayerID=202355&SeasonType=Regular+Season&format=jsonp",
dataType:"jsonp",
success: function(response) {
console.log(response);
}
})
};
getPlayerGameLogs();
});
有人可以解释这一点吗?是不可能从nba.com请求JSON?具体来说就是每个玩家的游戏日志。
你的例子工作得很好。
$(document).ready(function() {
function getPlayerGameLogs() {
$.ajax ({
url: "http://stats.nba.com/stats/commonplayerinfo?LeagueID=00&PlayerID=202355&SeasonType=Regular+Season&format=jsonp",
dataType:"jsonp",
success: function(response) {
console.log(response.resultSets);
populateTable(response.resultSets, 'CommonPlayerInfo');
populateTable(response.resultSets, 'PlayerHeadlineStats');
}
})
};
getPlayerGameLogs();
});
function populateTable(resultSets, setName) {
var data = resultSets.filter(function(set){
return set.name === setName;
})[0];
var headers = data.headers;
var rowSet = data.rowSet;
var table = $('#' + setName);
var tr = table.append($('<tr>'));
$(headers).each(function(){
tr.append(tr.append($('<th>').text(this.toString())));
});
$(rowSet).each(function(){
var tr = $('<tr>');
this.forEach(function(item){
tr.append($('<td>').text(item.toString()));
});
table.append(tr);
});
}
body {
font-family: sans-serif;
}
table {
border: 1px solid gray;
font-size: 11px;
border-collapse: collapse;
}
td, th {
border: 1px solid gray;
padding: 2px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head></head>
<body>
<h3>Headline Stats</h3>
<table id="PlayerHeadlineStats"></table>
<br />
<h3>Player Info</h3>
<table id="CommonPlayerInfo"></table>
</body>
</html>
这应该是一条评论。这不是OP的问题 –
[这是返回]的答案(https://photos.google.com/search/_tra_/photo/AF1QipM9O2l881KDEz-scq5U41qsDkzpRc9wKomxZoGC)我得到 – Kyriediculous
@VivekPradhan,OP的问题是如下:有人可以解释这一点吗?是不可能从nba.com请求JSON?我通过解释它的工作原理和确认可以从nba.com请求JSON数据来回答这两个问题。缺乏什么? –
它,如果你直接访问的URL返回的格式相同的对象:http://stats.nba.com/stats/commonplayerinfo?LeagueID=00&PlayerID=202355&SeasonType=Regular+Season。不知道你期待什么被退回,但这看起来是正确的。 – Turnip
你的问题说它返回的json比预期的要多。你期待什么,因为它看起来像是返回格式良好的json。问题是你不确定如何访问json响应中的数据? – Theo
它看起来像你试图保存jquery opperation到一个字符串,你试图stringify? –