无法找到该资源的Jquery Json

无法找到该资源的Jquery Json,jquery,asp.net-mvc,json,select,Jquery,Asp.net Mvc,Json,Select,我试图在MVC中用jquery填充一个下拉列表。下面是我的代码 控制器: [AcceptVerbs(HttpVerbs.Get)] public JsonResult GetTeams(StatisticModel model) { StatisticModel newModel = new StatisticModel(model.leagueId); var teams = newModel.getTeams; return J

我试图在MVC中用jquery填充一个下拉列表。下面是我的代码

控制器:

[AcceptVerbs(HttpVerbs.Get)]
    public JsonResult GetTeams(StatisticModel model)
    {
        StatisticModel newModel = new StatisticModel(model.leagueId);
        var teams = newModel.getTeams;
        return Json(teams);
    }
视图:


选择联盟:model.leagueId,model.getLeagues,new{@class=“dropdownlistLeagueStyle”})%>
JquerY:

$(function() {
$(".dropdownlistLeagueStyle").change(function () {
    $.getJSON("/Admin/GetTeams", { LeagueId: $(".dropdownlistLeagueStyle").val() },
  function (teams) {
      $("#LeagueTeams").empty();
      $.each(teams, function (i, team) {
         $("#LeagueTeams").append($("<option>" + team.Text + "</option>"));
     });
  });
  });
   })
$(函数(){
$(“.dropdownlistLeagueStyle”).change(函数(){
$.getJSON(“/Admin/GetTeams”,{LeagueId:$(“.dropdownlistLeagueStyle”).val()},
职能(团队){
$(“#联赛球队”).empty();
$。每个(团队,职能部门(i,团队){
$(“#联赛球队”).append($(“+team.Text+”);
});
});
});
})
由于某些原因,我得到一个资源未找到错误页面,如下所示

找不到资源

描述:HTTP404。您正在寻找的资源(或其 依赖项)可能已被删除、名称已更改或 暂时不可用。请查看下面的URL并进行修改 确保它拼写正确

请求的URL:/Admin/GetTeams


尝试
JsonRequestBehavior.AllowGet

    [AcceptVerbs(HttpVerbs.Get)]
    public JsonResult GetTeams(StatisticModel model)
    {
        StatisticModel newModel = new StatisticModel(model.leagueId);
        var teams = newModel.getTeams;
        return Json(teams,  JsonRequestBehavior.AllowGet);
    }
要检查的另一件事是模型绑定:

$.getJSON("/Admin/GetTeams", { LeagueId: $(".dropdownlistLeagueStyle").val() }
应该是:

$.getJSON("/Admin/GetTeams", { model: {LeagueId: $(".dropdownlistLeagueStyle").val() }}
如果服务器端的
StatisticModel.LeagueId
int
,则必须在客户端使用
parseInt

$.getJSON("/Admin/GetTeams", { model: {LeagueId: parseInt($(".dropdownlistLeagueStyle").val()) }}

<强>更新:< /强>考虑使用一个更简单的解决方案:

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetTeams(int LeagueId)
{
    StatisticModel newModel = new StatisticModel(LeagueId);
    var teams = newModel.getTeams;
    return Json(teams,  JsonRequestBehavior.AllowGet);
}
客户端:

$.getJSON("/Admin/GetTeams", { LeagueId: parseInt($(".dropdownlistLeagueStyle").val()) }

我用:@BuyMy Bet:you必须确保控制器名称为“AdminController”,如果服务器端的LeagueId为int,则客户端需要parseIntside@BuyMy打赌:所以你需要parseInt,在我的回答中检查最后的$.getJSON似乎什么都不起作用。。。可能是因为?选择League:model.leagueId,model.getLeagues,new{@class=“dropdownlistLeagueStyle”})%>在中查看我的更新视图post@BuyMy打赌:主要问题是路线不匹配,而不是视图不匹配。jQuery在将嵌套json对象序列化为url编码字符串时遇到问题。在您的例子中,嵌套的json对象是
StatisticModel模型
,您可能需要使用“POST”和json数据来摆脱它。有一个更简单的方法,考虑不使用<代码>统计模型模型< /代码>,只使用<代码> int LeaGeID < /代码>。这样,客户端上的代码是
$.getJSON(“/Admin/GetTeams”,{LeagueId:parseInt($(“.dropdownlistLeagueStyle”).val())}
在页面加载或在下拉列表中选择项目时出现此错误?当我选择一个项目并按get Team buttonok时,我的解决方案应该可以工作。你能让它工作吗?好的,我应该使用Html.Begin表单吗?$.getJSON现在可以工作了吗?仅单击按钮不起作用?
$.getJSON("/Admin/GetTeams", { LeagueId: parseInt($(".dropdownlistLeagueStyle").val()) }