簡體   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