Javascript 用JSON填充DropDownList

Javascript 用JSON填充DropDownList,javascript,asp.net,json,asp.net-mvc-5.2,Javascript,Asp.net,Json,Asp.net Mvc 5.2,--控制器-- [WebMethod] 公共行动结果GetSellers() { List sellers=db.sellers.ToList(); 返回Json(sellers,JsonRequestBehavior.AllowGet); } --看法-- @Html.DropDownListFor(x=>x.SellerId,新选择列表(Enumerable.Empty()) --Javascript-- $('#DeptId').change(function(){//DeptId是

--控制器--

[WebMethod]
公共行动结果GetSellers()
{
List sellers=db.sellers.ToList();
返回Json(sellers,JsonRequestBehavior.AllowGet);
}
--看法--

@Html.DropDownListFor(x=>x.SellerId,新选择列表(Enumerable.Empty())
--Javascript--


$('#DeptId').change(function(){//DeptId是我的另一个DropDownList
$.getJSON('/SaleRecords/GetSellers'),null,函数(结果){//My path
var ddl=$('#SellerId');//我的卖家ddl
ddl.empty();
$('Sellers').show();//我的div(它的display:none)
$(结果)。每个(函数(){
ddl.append(
$('', {
value:this.Id
}).html(此.Name)
);
});
};
});

怎么了?我已经在Controller中调试过,sellersList有3个注册表,但它没有出现在我的视图中,有什么问题吗?

这可能就是问题所在

$.getJSON('/SaleRecords/GetSellers'), null, function (result) // should throw an error
试一试

$.getJSON('/SaleRecords/GetSellers')
.完成(功能(结果){
var ddl=$('SellerId');
ddl.empty();
$('Sellers').show();
$(结果)。每个(函数(){
ddl.append(
$('', {
value:this.Id
}).html(此.Name)
});
.fail(函数(jqXHR){console.log(jqXHR.responseText)});

刚刚发现错误:我将其添加到我的控制器方法中:

myContext.Configuration.ProxyCreationEnabled = false;
我发帖是为了如果有人有这个问题,有解决方案

<script type="text/javascript">
    $('#DeptId').change(function () { // DeptId is my another DropDownList
        $.getJSON('/SaleRecords/GetSellers'), null, function (result) { // My path
            var ddl = $('#SellerId'); // My seller DDL
            ddl.empty();
            $('Sellers').show(); // My div (it's display: none)
            $(result).each(function () {
                ddl.append(
                $('<option />', {
                    value: this.Id
                }).html(this.Name)
                );
            });
        };
    });
</script>
$.getJSON('/SaleRecords/GetSellers'), null, function (result) // should throw an error
$.getJSON('/SaleRecords/GetSellers')
.done(function(result) {
        var ddl = $('#SellerId');
        ddl.empty();
        $('Sellers').show();
        $(result).each(function () {
            ddl.append(
            $('<option />', {
                value: this.Id
            }).html(this.Name)
 });
 .fail(function(jqXHR) {console.log(jqXHR.responseText)});
myContext.Configuration.ProxyCreationEnabled = false;