2016-05-17 52 views
1

我的页面上有很多数据表,我有一个填充它们的通用方法,除了一个以外,它们都可以正常工作。返回数据时未填充DataTable

我的AJAX方法如下:

function AjaxGet(url, tableName) { 
     $.ajax({ 
      method: 'GET', 
      url: url, 
      dataType: 'json', 
      contentType: 'application/json; charset=utf-8', 
      success: function (data) { 
       $('#' + tableName).dataTable({ 
        destroy: true, 
        'bPaginate': false, 
        'aoColumns': DetermineColumns(tableName), 
        'aaData': data, 
        'sDom': '<"top">t<"bottom"><"clear">', 
        'bSort': false 
       }); 
      } 
     }); 
    }; 

我知道该URL和反馈表名是正确的。

我的数据看起来像下面时,我的开发人员工具调试:

enter image description here

的DetermineColumns函数包含的if..else ..检查,直到找到正确的表名,它成功地做,然后返回到下列aoColumns

 return [ 
       { 
        'mDataProp': 'PartNum' 
       }, 
       { 
        'mDataProp': 'ukstk' 
       }, 
       { 
        'mDataProp': 'ukfob' 
       }, 
       { 
        'mDataProp': 'de' 
       }, 
       { 
        'mDataProp': 'fr' 
       }, 
       { 
        'mDataProp': 'es' 
       }, 
       { 
        'mDataProp': 'ae' 
       }, 
       { 
        'mDataProp': 'usa' 
       }, 
       { 
        'mDataProp': 'mx' 
       }, 
       { 
        'mDataProp': 'jx' 
       } 
      ]; 

这里是我的HTML表:

<div class="row"> 
<div class="col-md-6"> 
    <table id="stdCostTable" class="table input"> 
     <thead> 
      <tr> 
       <th></th> 
       <th> 
        UK-STK 
       </th> 
       <th> 
        UK-FOB 
       </th> 
       <th> 
        DE 
       </th> 
       <th> 
        FR 
       </th> 
       <th> 
        ES 
       </th> 
       <th> 
        AE 
       </th> 
       <th> 
        USA 
       </th> 
       <th> 
        MX 
       </th> 
       <th> 
        JX 
       </th> 
      </tr> 
     </thead> 
     <tbody> 
     </tbody> 
    </table> 
</div> 

请有人帮忙找出为什么数据表没有被填充?

谢谢!

我也没有从控制台或调试器收到任何错误。就数据表而言,没有数据,因此,它初始化时正确显示消息“表中没有可用数据”,但数据在分配给“aaData”时处于“数据”对象中。

回答

1

我认为data应该是一个对象(或数组)的数组,而不是一个对象本身。检查initialization example(我假设您使用的是旧版本)

+0

Im导入数据表1.10.9'' – DaRoGa

+0

是的,这个伎俩谢谢你。我没有点击它只是返回一个单一的对象,因为其他人都返回列表。 – DaRoGa

+0

很高兴工作!顺便说一下,您正在使用旧版API。如果可能的话,我会推荐采用新的,因为它更强大(而且很漂亮) – Sebastianb