TypeError:在使用DataTable中的新条目表保存新条目时,未定义c

时间:2014-09-02 07:06:05

标签: javascript jquery ajax twitter-bootstrap datatables

我有这个表显示一个带有表单的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/

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;:[]}