在今天早些时候和前几天,我从未收到此错误,我收到了数据,但由于此错误而无法显示数据
UnCaught TypeError $(...)。kendoGrid不是函数
我的网格就是这个..
function ShowAdministratorsGrid(administratorData) {
$("#adminGrid").kendoGrid({
dataSource: {
data: administratorData
},
columns: [{
field: "administratorID",
title: "AdministratorID",
hidden: true
},
{
field: "administratorName",
title: "AdministratorName"
},
{
field: "dateCreated",
title: "DateCreated"
},
{
field: "createdBy",
title: "CreatedBy"
}],
scrollable: true,
sortable: true,
pageable: false,
selectable: "row",
change: function (e) {
onRowSelectForAdministrator();
},
height: 275
});
}
我正在填充它......
function ShowAdministratorsInformation() {
$.ajax({
type: "GET",
url: AddURLParam.AddGetAdminInformationURL,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data, textStatus, jqXHR) {
ShowAdministratorsGrid(data);
}
})
}
但正如我所提到的那样,它一直工作到早些时候,我不知道为什么会抛出这个错误。 我一直在寻找与kendoGrid相关的错误,但无济于事。
直到一两个小时前,一切正常。
答案 0 :(得分:12)
记录解决方案:此问题已记录在案。它说:
小部件不可用或未定义:
如果 jQuery在页面中被多次包含,则所有现有的jQuery插件(包括Kendo UI)将被清除。如果不包含所需的Kendo JavaScript文件,也会发生。
根据浏览器的不同,将引发以下JavaScript错误:
TypeError: Object #<Object> has no method kendoGrid (in Google Chrome)
TypeError: $("#Grid").kendoGrid is not a function (in Firefox)
Object does not support property or method 'kendoGrid' (in Internet Explorer 9 and later)
Object does not support this property or method (in older versions of Internet Explorer)
<强>解决方案:强>
确保您的网页中不多次包含jQuery。删除对jQuery的任何重复脚本引用。包括所有必需的Kendo JavaScript文件。
jQuery不可用或未定义:
如果未包含jQuery,或者包含在Kendo UI JavaScript文件之后,或者包含在Kendo UI小部件初始化语句之后,则Kendo UI小部件将无法按预期运行。将抛出以下JavaScript错误(取决于浏览器):
ReferenceError: jQuery is not defined (in Google Chrome and Firefox)
'jQuery' is undefined (in Internet Explorer)
<强>解决方案:强>
确保仅在Kendo UI JavaScript文件之前和依赖它的任何Javascript语句之前包含jQuery。
答案 1 :(得分:3)
确保您的脚本位于标记<head>
... </head>
<script src="kendo/js/jquery.min.js"> </script>
例如
<head>
<title>......</title>
<script src="kendo/js/jquery.min.js"> </script>
// and then your other script
</head>
希望它有用