jQuery运行时错误:预期的功能

Gri*_*zly 2 c# jquery runtime-error asp.net-mvc-5

我在我的Web应用程序的Create View中使用jQuery UI Autocomplete

当我在文本框中单击我想要自动完成服务并输入1个字母时,我收到运行时错误:

运行时错误

以下是内置脚本调试器中发生错误的行

发生错误的内置脚本调试器的行

这是我的脚本:

<script type="text/javascript">
$(document).ready(function () {
    $('#Categories').autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Activities/AutoCompleteCategory",
                type: "POST",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    response($.map(data, function (item) {
                        return { label: item.subcategory, value: item.subcategory };
                    }))
                }
            })
        },
        messages: {
            noResults: "", results: ""
        }
    });
})
</script>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

public JsonResult AutoCompleteCategory(string term)
{
    var result = (from r in db.Activities
                  where r.subcategory.ToUpper().Contains(term.ToUpper())
                  select new { r.subcategory }).Distinct();

    return Json(result, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

如果我单击"不再显示此消息",则表示完美.

任何有助于弄清楚为什么会发生此运行时错误的帮助非常感谢.

小智 5

失败的代码是尝试在消息下执行结果方法.

this.messages.results(e.length)
Run Code Online (Sandbox Code Playgroud)

您已在此处将结果方法定义为"":

    messages: {
        noResults: "", results: ""
    }
Run Code Online (Sandbox Code Playgroud)

取消对话框后,浏览器可能会以静默方式处理此错误,但在其下方仍处理错误.如果您无需添加任何内容,则应删除消息部分,或将消息创建为空函数.