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

如何将API返回的JSON数据动态添加到select下拉列表中

错误原因

  • $.get() 是异步AJAX请求方法,直接赋值给data变量拿到的不是后端返回的姓名列表,而是jQuery封装的jqXHR请求对象,直接遍历该对象自然无法生成option选项
  • 原代码中遍历数据的逻辑执行时,AJAX请求还未完成,还没有拿到后端返回的实际数据

修正后代码

$(document).ready(function () {
    const $featuresSelect = $('#FeaturesSelect');
    $featuresSelect.empty();
    // 把数据处理逻辑放到$.get的回调函数中,请求成功后才执行
    $.get("你的API接口地址", function (data) {
        $.each(data, function (i, v) {
            $featuresSelect.append('<option value="' + v.id + '">' + v.title + '</option>');
        });
    // 明确指定响应数据类型为JSON,避免解析异常
    }, 'json');
});

可选优化写法(支持异常捕获)

如果你的项目使用的jQuery版本支持Promise,也可以用async/await写法更易读:

$(document).ready(async function () {
    const $featuresSelect = $('#FeaturesSelect');
    $featuresSelect.empty();
    try {
        const data = await $.get("你的API接口地址");
        $.each(data, function (i, v) {
            $featuresSelect.append(`<option value="${v.id}">${v.title}</option>`);
        });
    } catch (err) {
        console.error('姓名列表接口请求失败:', err);
    }
});

排查项(如果修改后仍不生效)

  • 打开浏览器开发者工具的Network面板,确认接口请求无跨域、4xx/5xx报错
  • 确认接口返回的JSON格式和你给出的示例一致,没有嵌套外层结构
  • 检查页面内是否存在重复的FeaturesSelectID,ID重复会导致DOM选择失效

内容的提问来源于stack exchange,提问作者M.imp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:57:03