Javascript 通过ID访问API资源
假设这个api.football-data.org/v1/competitions包含以下内容Javascript 通过ID访问API资源,javascript,jquery,ajax,rest,api,Javascript,Jquery,Ajax,Rest,Api,假设这个api.football-data.org/v1/competitions包含以下内容 { "_links": { "teams": { "href": "http://api.football-data.org/v1/competitions/444/teams" } }, "id": 444, "caption": "Campeonato Brasileiro da Série A", "league":
{
"_links": {
"teams": {
"href": "http://api.football-data.org/v1/competitions/444/teams"
}
},
"id": 444,
"caption": "Campeonato Brasileiro da Série A",
"league": "BSA"
},
{
"_links": {
"teams": {
"href": "http://api.football-data.org/v1/competitions/445/teams"
}
},
"id": 445,
"caption": "Premier League 2017/18",
"league": "PL"
}
访问特定团队的最佳方式是什么?我是这样做的,很管用,但我觉得不太整洁
HTML
JavaScript
$("#team").change(function(){
var id = $("#team").val();
getTeam(id);
});
function getTeam(id){
$.ajax({
url: 'http://api.football-data.org/v1/competitions/'+id+'/team',
type: 'GET',
dataType: 'json',
success: function(data) {
var team= '';
$.each(data, function(k, v) {
team+= '<tr><td>' + v.name+ '</td></tr>';
});
$("#team").html(team);
}
});
}
您的解决方案是正确的,但是您可以使用从API返回的URL。我认为这个API是根据Richardson成熟度模型创建的。更多信息如下:。 api足球是在3级-超媒体控制-因为api告诉我们下一步可以做什么-得到球队,得到球员 因此,它可以为您的应用程序带来一些好处:如果api足球更改一些URL,您的应用程序将不会中断 如果需要,您可以更改解决方案: 变量apiKey='7b35712f29da4dc58a538320e57c12cc'; $function{ 比赛; $'change'函数{ var urlTeam=$competitions.findoption:selected.attr'data-href'; GetteamUrl团队; }; } 功能竞赛{ $.ajax{ 网址:'http://api.football-data.org/v1/competitions/', 标题:{ X-Auth-Token:apiKey }, 键入:“GET”, 数据类型:“json”, 成功:函数数据{ $.eachdata,函数k,v{ $'competitions'。追加+v.caption+; }; } }; } 函数getTeamurl { $.ajax{ url:url, 标题:{ X-Auth-Token:apiKey }, 键入:“GET”, 数据类型:“json”, 成功:函数数据{ var团队=; $.eachdata.teams,函数k,v{ 团队+=+v.name+; }; $teams.htmltam; } }; } 选择比赛: 选择 团队
您的解决方案是正确的,但是您可以使用从API返回的URL。我认为这个API是根据Richardson成熟度模型创建的。更多信息如下:。 api足球是在3级-超媒体控制-因为api告诉我们下一步可以做什么-得到球队,得到球员 因此,它可以为您的应用程序带来一些好处:如果api足球更改一些URL,您的应用程序将不会中断 如果需要,您可以更改解决方案: 变量apiKey='7b35712f29da4dc58a538320e57c12cc'; $function{ 比赛; $'change'函数{ var urlTeam=$competitions.findoption:selected.attr'data-href'; GetteamUrl团队; }; } 功能竞赛{ $.ajax{ 网址:'http://api.football-data.org/v1/competitions/', 标题:{ X-Auth-Token:apiKey }, 键入:“GET”, 数据类型:“json”, 成功:函数数据{ $.eachdata,函数k,v{ $'competitions'。追加+v.caption+; }; } }; } 函数getTeamurl { $.ajax{ url:url, 标题:{ X-Auth-Token:apiKey }, 键入:“GET”, 数据类型:“json”, 成功:函数数据{ var团队=; $.eachdata.teams,函数k,v{ 团队+=+v.name+; }; $teams.htmltam; } }; } 选择比赛: 选择 团队
是什么让你觉得它不太整洁?我认为这是完全可以接受的。你是否在寻求对客户的更多控制,以获得包括团队在内的竞争?如果是这样,那么graphql可能比RESTAPI更适合您。是什么让您觉得它不是很整洁?我认为这是完全可以接受的。你是否在寻求对客户的更多控制,以获得包括团队在内的竞争?如果是这样,那么graphql可能比RESTAPI更适合您。
$("#team").change(function(){
var id = $("#team").val();
getTeam(id);
});
function getTeam(id){
$.ajax({
url: 'http://api.football-data.org/v1/competitions/'+id+'/team',
type: 'GET',
dataType: 'json',
success: function(data) {
var team= '';
$.each(data, function(k, v) {
team+= '<tr><td>' + v.name+ '</td></tr>';
});
$("#team").html(team);
}
});
}