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

ASP.NET MVC中用jQuery从Json填充Select/Option时为空,求帮助

解决ASP.NET MVC中jQuery填充Select下拉框为空的问题

嘿,我之前也踩过这个坑!大概率是几个常见的小问题导致的,我帮你一步步排查解决:

1. 先修复控制器的Json返回限制

ASP.NET MVC 默认的 JsonResult 出于安全考虑,是不允许 GET 请求 获取 Json 数据的。你现在的 GetJson 方法直接返回 Json(list),如果前端用 GET 请求调用的话,会被服务器拦截,根本拿不到数据,下拉框自然是空的。

修改控制器方法,添加 JsonRequestBehavior.AllowGet 参数:

public JsonResult GetJson() { 
    var list = new List<SelectOption> { 
        new SelectOption { Value = "1", Text = "Aron" }, 
        new SelectOption { Value = "2", Text = "Bob" }, 
        new SelectOption { Value = "3", Text = "Charlie" }, 
        new SelectOption { Value = "4", Text = "David" } 
    }; 
    // 允许GET请求获取Json数据
    return Json(list, JsonRequestBehavior.AllowGet); 
}

2. 补全视图中的jQuery代码,确保正确请求和绑定

你只写了 $(document).ready(... 的开头,我给你补全完整的工作代码,注意替换对应的控制器名称和下拉框ID:

首先,视图里要有一个正确的select元素:

<select id="userSelect"></select>

然后是完整的JavaScript代码:

$(document).ready(function() {
    // 获取下拉框DOM元素(替换成你实际的ID)
    var $select = $('#userSelect');
    
    // 发起GET请求获取Json数据,替换成你的控制器路径
    $.get('/Home/GetJson', function(data) {
        // 先清空下拉框(避免重复添加)
        $select.empty();
        
        // 遍历返回的Json数组,逐个添加option
        $.each(data, function(index, option) {
            $select.append($('<option>', {
                value: option.Value, // 对应模型的Value属性
                text: option.Text    // 对应模型的Text属性
            }));
        });
    })
    // 加上错误处理,方便排查问题
    .fail(function(jqXHR, textStatus, error) {
        console.log('请求失败:' + textStatus + ',错误详情:' + error);
    });
});

注意:把 /Home/GetJson 替换成你实际的控制器路由,比如你的控制器叫 UserController,就改成 /User/GetJson。

3. 排查其他可能的小问题

如果还是不行,打开浏览器的开发者工具(F12),看控制台和网络请求:

  • 网络请求是否成功:如果显示404,说明控制器路径写错了;如果显示400/500,检查服务器端是否有报错。
  • 数据属性名是否匹配:如果你的项目用了Newtonsoft.Json并配置了 camelCase 序列化,那前端要改成 option.value 和 option.text(小写开头),而不是 option.Value。
  • 下拉框ID是否正确:确保JavaScript里的选择器和视图中select的ID完全一致,大小写敏感!

按照这几步来,你的下拉框应该就能正常填充数据了~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:27:44