Ajax无法找到我的ASP.Net控制器操作

时间:2017-06-12 01:34:11

标签: c# ajax asp.net-mvc

我最近开始学习jquery,在我的ASP.NET MVC应用程序中,我想在下拉列表更改中调用一个函数。

$(function () {

    $("#weights").change(function () {

        var $weightClass = $('#weights').val();
        var $fighters = $('#fighters');

        $.ajax({
            type: 'GET',
            url: '@Url.Action("FighterDropDownList", "Match")',
            data: { weightClass: $weightClass },
            success: function (fighters) {
                $.each(fighters, function (i, fighter) {
                    $fighters.append('<option value= "' + fighter.ID + '">' + fighter.FullName + '</option>');
                });
            }
        });
    });
});

MatchsController:

    public JsonResult FighterDropDownList(string weightClass)
    {
        var fighters = from f in _context.Fighters
                            orderby f.LastName
                            where f.WeightClass == weightClass
                            select f;

        return Json(fighters);
    }

当我运行时,没有任何反应,我在控制台中收到以下错误:

  

未找到 - 服务器未找到与请求的URI(统一资源标识符)匹配的任何内容

我正在使用.NETCore1.1

在调试模式下,FighterDropDownList永远不会被触发请求被发送的下拉列表。

我想这个网址是错的,但是我看不清楚,我看到过很多类似的问题,但似乎没有一个答案可以解决这个问题。

1 个答案:

答案 0 :(得分:0)

下面看代码你正在调用MatchController但实际上它是MatchsController

let bottom = textView.contentSize.height - textView.bounds.size.height
textView.setContentOffset(CGPoint(x: 0, y: bottom), animated:true)

MatchsController:

url: '@Url.Action("FighterDropDownList", "Match")',