Javascript jQuery-使用ajax JSON数据
我使用jquery从以下API()获取数据 到目前为止,我可以得到所有的主要数据,“名称”,“高度”,“质量”等 但是,当我试图得到这些值时在“家园”、“电影”、“物种”、“交通工具”、“星际飞船”中,它只显示它所指的url,我不知道应该使用什么方法来获取值在这些URL中 这是我的代码:Javascript jQuery-使用ajax JSON数据,javascript,jquery,html,json,ajax,Javascript,Jquery,Html,Json,Ajax,我使用jquery从以下API()获取数据 到目前为止,我可以得到所有的主要数据,“名称”,“高度”,“质量”等 但是,当我试图得到这些值时在“家园”、“电影”、“物种”、“交通工具”、“星际飞船”中,它只显示它所指的url,我不知道应该使用什么方法来获取值在这些URL中 这是我的代码: $(文档).ready(函数(){ 函数getStarWars(){ $.ajax({ 数据类型:“json”, 键入:“GET”, async:true, 网址:'https://swapi.co/
$(文档).ready(函数(){
函数getStarWars(){
$.ajax({
数据类型:“json”,
键入:“GET”,
async:true,
网址:'https://swapi.co/api/people/1/',
成功:功能(datos){
if(datos!=null){
console.log(datos.name);
console.log(datos.homeworld);
控制台日志(datos.films);
控制台日志(datos.species);
}
},
错误:函数(xhr,状态){
警报(“对不起,我有问题”);
}
});
}
getStarWars();
});代码>
您需要重新获取该新链接的数据
$(文档).ready(函数(){
函数getStarWars(){
$.ajax({
数据类型:“json”,
键入:“GET”,
async:true,
网址:'https://swapi.co/api/people/1/',
成功:功能(datos){
if(datos!=null){
console.log(datos.name);
log(datos.homeworld,'asdasdasd');
控制台日志(datos.films);
控制台日志(datos.species);
getStarWarsNew(datos.homeworld)
}
},
错误:函数(xhr,状态){
警报(“对不起,我有问题”);
}
});
}
函数getStarWarsNew(URL){
$.ajax({
数据类型:“json”,
键入:“GET”,
async:true,
url:url,
成功:功能(datos){
if(datos!=null){
控制台日志(datos);
}
},
错误:函数(xhr,状态){
警报(“对不起,我有问题”);
}
});
}
getStarWars();
});代码>
将ajax放在一个单独的函数中,并在每次需要处理url时调用它
$(文档).ready(函数(){
函数getData(url,回调){
$.ajax({
数据类型:“json”,
键入:“GET”,
async:true,
url:url,
成功:功能(数据){
回调(数据);
},
错误:函数(xhr,状态){
警报(“对不起,我有问题”);
}
});
}
函数getStarWars(){
getData('https://swapi.co/api/people/1/,函数(数据){
console.log(data.name);
getData(data.homeworld,函数(planet){
console.log(planet.name);
});
数据。胶片。forEach(功能(胶片){
获取数据(胶片、函数(胶片){
控制台日志(电影名称);
});
});
getData(数据、种类、功能(种类){
控制台日志(物种名称);
});
});
}
getStarWars();
});代码>
但是数据是正确的吗?检查api后,homeworld的值为“”,您得到了正确的值。但是。。这些值就是URL,不是吗?!数据是正确的。我刚刚检查了一下,api返回了家庭世界和电影的url。如果你想显示家庭世界的信息。您需要使用datos中返回的homeworld url进行另一个GET调用。电影和物种也是如此。