You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

页面展示JSON数据仅显示最后一个ID,console.log可正常遍历的技术求助

解决循环渲染JSON数据仅显示最后一个ID的问题

我猜你在success回调的循环里,应该是直接用了类似$("#your-element").html(res[i].id)的写法——每次循环都会把目标元素的内容替换成当前迭代的ID,而不是把新内容追加进去,这就导致最后只有最后一个ID留在页面上;而console.log因为每次都会输出当前值,所以能完整展示所有ID。

下面给你两种常用的解决思路:

方法1:先拼接所有HTML再一次性插入

这种方式性能更优,能减少DOM操作的次数:

success: function(res){
    // 初始化空字符串用来拼接所有内容
    let adHtml = '';
    for (var i = 0; i < res.length; i++){
        // 根据需求拼接HTML片段,这里以展示ID为例
        adHtml += `<div class="ad-item">广告ID:${res[i].id}</div>`;
    }
    // 把拼接好的内容插入到目标元素(替换原有内容)
    $("#your-target-element").html(adHtml);
    // 如果需要追加到已有内容后面,改用append:
    // $("#your-target-element").append(adHtml);
}

方法2:循环中逐个追加内容

如果数据量很小,或者需要实时看到元素被添加的过程,可以每次循环都用append:

success: function(res){
    // 先清空目标元素(如果需要清除原有内容的话)
    $("#your-target-element").empty();
    for (var i = 0; i < res.length; i++){
        // 每次循环都把新的HTML片段追加到目标元素里
        $("#your-target-element").append(`<div class="ad-item">广告ID:${res[i].id}</div>`);
    }
}

额外提醒

  • 确保你访问的res[i].id是正确的属性名,要和后端返回的JSON结构对应(比如后端返回的是{"id": 123}还是{"ad_id": 123})
  • 确认目标元素#your-target-element在页面中存在,没有拼写错误

内容的提问来源于stack exchange,提问作者chris keenan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:33:55