Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-使用ajax JSON数据_Javascript_Jquery_Html_Json_Ajax - Fatal编程技术网

Javascript jQuery-使用ajax JSON数据

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/

我使用jquery从以下API()获取数据

到目前为止,我可以得到所有的主要数据,“名称”,“高度”,“质量”等

但是,当我试图得到这些值时​​在“家园”、“电影”、“物种”、“交通工具”、“星际飞船”中,它只显示它所指的url,我不知道应该使用什么方法来获取值​​在这些URL中

这是我的代码:

$(文档).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调用。电影和物种也是如此。