繁体   English   中英

TypeError:使用jquery.datatables.min.js时数据未定义

[英]TypeError: data is undefined when using jquery.datatables.min.js

“我能够看到服务器端ajax的结果,但是我在屏幕上收到一个JS错误。

结果中没有空值。

但是,抛出以下错误。

DataTables警告:表id = summaryResults1-请求的未知参数'workCategory'为第0行第0列。有关此错误的更多信息,请参见http://datatables.net/tn/4

summaryTable = $('#summaryResults1').DataTable( {

                              data: tableResultsAjax,
                              serverSide: true,
                              ajax: {
                                    dataSrc: function (json) {
                                          return json.data;
                                      },
                                    "data": function(){
                                        var info = $('#summaryResults1').DataTable().page.info();

                                         $('#summaryResults1').DataTable().ajax.url(
                                                url_ajax+"&bucketCounter="+(info.page+1)
                                            );

                                    }

                              },

                              paging:true,
                              pageLength:500,
                              scrollX:true,
                              scrollCollapse: true,
                              ordering: false,
                              "scrollY": 1000,
                              "lengthChange": false,
                              "searching": false,
                              "deferRender":true,

                   "columns": [
                              { "data": "workCategory" },
                              { "data": "queue" },
                              ....

                              ],

                        columnDefs : [ {
                                "targets" : [  10, 11, 12, 13, 14, 15, 16, 17, 18, 19 ],
                                "render" : function(data, type, row,meta) {
                                    if (type === "display" ) {
                                        param = 20-meta.col;
                                        return drilldownViewCheck?data:"<a id = 'aa' href=\"javascript:passAJAXValues('" + row.queue.code + "','" + row.task.code + "','P"+param+"','"+ row.office.code + "')\"style=\"color:#FFF;\">" + data + "</a>";
                                    }
                                }
                            },

                            ....
                          ],

                        fixedColumns:{
                              leftColumns:6
                          }





                      } );
 });

一行的服务器端响应是

{“ recordsFiltered”:750,“ data”:“ [{....,\\” workCategory \\“:\\”工作类别\\“,....,\\” queue \\“:\\”队列名称\\“} ]”, “画”:2 “recordsTotal”:750}

技术说明4准确地指出了该问题:

这将表明使用columns.data无法获取要显示的有效数据-例如:

 { data: 'Name' } 

如果该行的数据源对象没有Name参数,或者该数据为nullundefined则将产生此错误。

您从服务器端脚本获得的响应很可能没有workCategory属性。

在您的响应中,您的data属性在服务器上两次被编码为JSON格式,这就是为什么DataTables找不到任何数据的原因,因为data是一个字符串,应该是数组。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM