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

SpringBoot返回字符串列表,前端JS如何读取文件名填充下拉框?

解决SpringBoot后端返回字符串列表后前端填充select下拉框的问题

你的问题核心是对后端返回数据结构的理解偏差:后端Controller返回的是List<String>类型的文件名列表,前端通过fetch解析后得到的是纯字符串数组,数组中的每一项d本身就是完整的文件名,不需要通过d.value获取。

修正后的JavaScript代码

直接将错误行中的d.value替换为d即可,同时推荐给<option>添加value属性(方便后续获取选中值):

function getLines() {
    fetch(`/application`, {
        method: 'GET'
    }).then(response => response.json())
        .then(data => {
            console.log(JSON.stringify(data))
            let html = ""
            data.forEach(d => html += `<option value="${d}">${d}</option>`)
            document.getElementById("test").innerHTML = html
        })
}

关键说明

  • 查看你打印的console.log(JSON.stringify(data)),应该能看到类似["file1.txt","file2.txt"]的输出,这就是典型的字符串数组结构,每个元素都是字符串本身,不存在value属性。
  • 添加value="${d}"是规范写法,当下拉框选项被选中时,可以通过selectElement.value直接获取对应的文件名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:35:10