填充下拉列表不起作用

Populating dropdown list is not working

我有这个区域脚本

function LoadRegions() {
    var region = $('#RegionID');
    alert("test");
    var url = "../Account/GetRegions";
    $.getJSON(url, { countryId: $('#CountryID').val() }, function (response) {
        // clear and add default (null) option 

        region.empty().append($('<option></option>').val('').text("Please select"));


        for (var i = 0; i < response.length; i++) {
            region.append($('<option></option>').val(response[i].Id).text(response[i].Name));
        }

    });
}

视图中我有:

   @Html.DropDownListFor(m => m.SelectCountryId, Model.Countries, @Translator.Translate("PLEASE_SELECT"), new { id = "CountryID", @class = "form-control", @onchange = "LoadRegions();"})

控制器中我有:

[AllowAnonymous]
    public JsonResult GetRegions(int countryId) // return a JsonResult
    {
        IUserManager manager = UserFactory.GetUserManager(WebConfiguration.DefaultTerminalId);
        var model = manager.GetRegions(countryId);
        return Json(model, JsonRequestBehavior.AllowGet);
    }

我的想法是,当用户选择一个国家时,我会得到区域,但出于某种原因,这不是 working.any 帮助吗?我收到正在运行的警报,但没有别的

编辑:我的路线

   routes.MapRoute(
               name: "DefaultAppWithLanguages",
               url: "app/{languageId}/{controller}/{action}/{id}",
               defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional },
               constraints: new { languageId = @"^[a-zA-Z]{2}$" }
           );

            routes.MapRoute(
                name: "DefaultApp",
                url: "app/{controller}/{action}/{id}",
                defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional }
            );

            routes.MapRoute(
                name: "Default",
                url: "{*url}",
                defaults: new { language = "en", controller = "App", action = "Index", id = UrlParameter.Optional }
            );

根据你的路线,var url = "../Account/GetRegions";不会命中该方法。您需要将其更改为

var url = '/app/en/Account/GetRegions';