jQuery自动完成'length'为null或不是对象

时间:2011-09-29 15:38:31

标签: javascript jquery asp.net-mvc-3

我正在构建一个ASP.NET MVC 3应用程序,我正在尝试将jQuery autocompletex正确地合并到我的一个页面中,以便用户可以键入成分名称或从下拉列表中选择一个。

我收到此错误:

Microsoft JScript runtime error: 'length' is null or not an object

我的视图代码如下:

$("#ingredientid").autocomplete({
   source: function (request, response) {
      $.ajax({
         url: '@Url.Action("AvailableIngredients", "Recipe")', type: "POST", dataType: "json",
         data: { query: request.term },
         success: function (data) {
            response($.map(data, function (item) {
               return { label: item, value: item };
            }))
         }
      })
   },
   minLength: 1
});

事情似乎在Firefox中运行良好,但IE 8是内部使用的标准浏览器。


其他

我正在返回数据 - List<string>,如下所示:

public JsonResult AvailableIngredients()
{
   ... 
   return Json(allIngredients, JsonRequestBehavior.AllowGet);
}

想法?

1 个答案:

答案 0 :(得分:0)

确保在javascript包含文件之前声明内容类型的元标记。在this问题中看起来这对其他人来说是一个问题。