无法使用服务器端处理在dataTable中显示数据

时间:2015-04-20 07:56:40

标签: jquery ajax jquery-datatables datatables-1.10

在将serverSide参数设置为true时,我无法在dataTable中添加(并因此显示)行。我使用以下代码。在控制台上打印显示所需的结果,行不会填充数据。在代码中给出的函数build_falt_data中,我需要对代码进行一些处理,并在显示数据表之前为列值添加自定义按钮。

我也遇到了一个奇怪的问题。响应以无限循环显示。请参阅代码中的注释。我无法弄清楚背后的原因。任何帮助将不胜感激。

     var self = $(this)
      var datatable =  $('#example').dataTable( {
            "processing": true,
            "serverSide": true,
            "ajax": {
                "url": '/get_json_data.json',
                "method":"GET",
                success: function(data) {
                    //Method 1
                    console.log in build_falt_data shows results in infinite loop
                    datatable.fnAddData(self.build_falt_data(data));
                    // Method 2
                    var falt = self.build_falt_data(data);
                    //console.log(falt) yeilds true results with out loop repitition but unable to show the results in datatable rows
                    datatable.fnAddData(falt);
                },
                dataType: 'json'
            }
       });

      "build_falt_data": function( faltdata ) {
           falt_data = {};
           $.each( faltdata.data, function(index, faltList ) {
              falt_data.push(faltList.var1);
              falt_data.push(faltList.var2);
              falt_data.push(faltList.var3);
           });
           // In method 2 only, I am returning this array
           return falt_data;
      }

1 个答案:

答案 0 :(得分:0)

您的代码存在多个问题,但主要原因是您可能不应该使用ControlVisualStateManager.GoToState事件处理程序中的表添加数据。

您的代码可以简化如下所示。

fnAddData()