gpt4 book ai didi

javascript - Jquery 两个 api 调用来检索两个嵌套 $.each 循环内的不同动态元素

转载 作者:行者123 更新时间:2023-12-02 19:07:34 25 4
gpt4 key购买 nike

我有一个包含顶级元素的 api 链接。对于每个元素,我需要构建第二个 api 调用的结尾,这将为我提供所需的其余元素并将它们拉出。

假设第一个 json 是 (urlphonebrands),其中包含 3 个手机品牌(苹果、三星和诺基亚)。第二个 json 调用取决于每个品牌名称,例如自动构建的 urlphonebrands/Nokia、urlphonebrands/Samsung 或 urlphonebrands/Apple。

我需要循环遍历每个品牌名称以获取颜色、电池生命周期和尺寸等属性。但每种颜色都有另一个选择循环,例如黑色、白色、红色。我的最终结果是,

Apple
battery life:
6h
color:
blue
black
Samsung:
battery life:
6h
color:
blue
black
Nokia:
battery life:
3h
color:
blue

虽然我能够成功循环遍历每个顶部元素,但我只能检索第一个项目的最后一个颜色元素,这表明我错误地构建了第二个循环。经过几个小时的研究,我发现我需要一些帮助。这就是我所拥有的,

$.getJSON("urlphonebrands", function(data){

var brandBlock = data[0]['name'];

$.each(data, function(index, brandBlock){

var brand = brandBlock.name;

$('#table').append('<tr><td>' + brand + '</td></tr>');

//It works fine until this point

$.getJSON("phonebrandsurl" + brand, function(data){

$.each(brand, function (index2, brand){

var color = data[0].name[0].color;

$('#table').append('<tr><td>' + color + '</td></tr>');

});


});


});

});

这给了我类似的东西,

Apple
blue
blue
Samsung
blue
blue
Nokia
blue

这是第二次 api 调用后的 console.log 输出,

[Object]
0: Object
brand: Array[17]
0: Object
battery life: "6h"
colors: Object
color: "blue"

最佳答案

尝试将第二个 getJSON 包装到匿名函数中并将品牌作为参数传递::

(function(brand){
$.getJSON('phonebrandsurl' + brand, function(data){
// ...
}(brand))

关于javascript - Jquery 两个 api 调用来检索两个嵌套 $.each 循环内的不同动态元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com