我有这个表显示一个带有表单的bootstrap模式,当我填写此表单并保存我的数据或单击关闭模式时,我想刷新数据表但是这个被捕获并且出错:
TypeError: c is undefined
...dErrors";g[w0]("postSubmit",[c,n,j]);if(!c.error)c.error="";if(!c[(j4a+R6a+K8+i1...
在dataTables.editor.min.js的第296行
当我刷新ajax数据时显示此错误,这是我的代码:
var editor;
var oTable;
function getStudentdetails(id) {
editor = new $.fn.dataTable.Editor({
dom: "Tfrtip",
table: "#table_student_details",
fields: [ {
label: "Id:",
name: "id",
attr: {
maxlength: 50,
name:"id",
placeholder: 'ID'
}
}, {
label: "Name:",
name: "name"
}
],
ajaxUrl: {
"create": "/addStudentdetails",
"edit": "/editStudentdetails",
"remove": "/deleteStudentdetails"
},
});
oTable = $('#table_student_details').DataTable({
dom: "Tfrtip",
destroy: true,
ajax: {
"url": url_prefix + "/getStudentDetails",
"data": function(d) {
d.id = id;
}
},
tableTools: {
sRowSelect: "os",
aButtons: [{
sExtends: "editor_create",
editor: editor
}, {
sExtends: "editor_edit",
editor: editor
}, {
sExtends: "editor_remove",
editor: editor
}]
}
});
}
我使用文件和版本,也按以下顺序使用:
jquery-1.11.1.min.js
jquery.dataTables.min.js-> 1.10.2
dataTables.bootstrap.js
dataTables.tableTools.min.js-->2.2.2
dataTables.editor.min.js ->1.3.2
有人帮我解释。对于助手参考,我把我的javascript文件放在这里http://jsfiddle.net/Lujjz9ag/1/
答案 0 :(得分:0)
即使我在使用列过滤器
时遇到了同样的错误TypeError:c未定义
... dErrors&#34 ;; gw0;如果c.error =&#34(c.error!);!&#34 ;;如果(C [(J4A + R6A + K8 + I1 ... < / p>
我意识到只有在数据空白时才会发生这种情况 响应看起来像这样 {&#34; iTotalRecords&#34;:0,&#34; iTotalDisplayRecords&#34;:0,&#34; aaData&#34;:NULL}
在这里你可以看到aaData是NULL。数据表总是在响应中查找数组并检查长度,这会引发错误。 所以我将aaData转换为数组,如果它是空的并且它已得到修复。
{&#34; iTotalRecords&#34;:0,&#34; iTotalDisplayRecords&#34;:0,&#34; aaData&#34;:[]}