jQuery Runtime Error: Function Expected

jQuery Runtime Error: Function Expected

我在我的 Create Web 应用程序视图中使用 jQuery UI 自动完成功能

当我单击我希望自动完成服务的文本框并键入 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>

这是我的控制器:

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);
}

如果我单击 不再显示此消息,它会完美运行。

非常感谢任何帮助找出为什么会发生此 运行 时间错误的帮助。

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

this.messages.results(e.length)

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

    messages: {
        noResults: "", results: ""
    }

浏览器可能在您取消对话框后默默地处理这个错误,但在它下面仍在处理错误。如果您没有要添加的内容,则应删除消息部分,或者将消息创建为空函数。