2017-04-09 80 views
0

嗨我无法在DataTable中显示JSON数据。我有一个网址的数据,并希望显示所有的结果。但是没有返回错误,但是没有将JSON中的数据加载到表中?我将附上我正在使用的javaScript,HTML & JSON,我希望有些传说可以帮助我!DataTables Ajax数据不显示

JQuery的

$('#example').DataTable({ 
       "ajax": ({ 
        "url": fxml_url + 'Enroute' + '/airport' + $('#flight_choice').val(), 
       }), 
        "columns": [ 
        { enroute: ident }, 
        { enroute: originCity }, 
        { enroute: destinationCity }, 
        { enroute: estimatedarrivaltime } 
       ] 
       }); 

HTML

<table id="example" class="display" cellspacing="0" width="100%"> 
     <thead> 
      <tr> 
       <th>Flight No.</th> 
       <th>Origin</th> 
       <th>Destination</th> 
       <th>Arrival Time</th> 
      </tr> 
     </thead> 
    </table> 

JSON结构

enter image description here

+0

声明你的'columns'正确。没有*'enroute' *这样的属性,我想你的意思是'data' ... – davidkonrad

+0

哦谢谢,它仍然不显示数据!日志打印'身份未定义'? – giofus

回答

0

您需要

  • 使用正确的对象文字符号,{},不({})
  • 传递JSON的相关部分返回到数据表(该enroute阵列项目)
  • 声明columns项正确

$('#example').DataTable({ 
    ajax: { 
    url: fxml_url + 'Enroute' + '/airport' + $('#flight_choice').val(), 
    dataSrc: function(json) { 
     return json.EnrouteResult.enroute 
    } 
    }, 
    columns: [ 
    { data: ident }, 
    { data: originCity }, 
    { data: destinationCity }, 
    { data: estimatedarrivaltime } 
    ] 
}) 
+0

感谢您的帮助,清理它,但仍然没有得到信息加载!我认为它是因为我有另一个Ajax功能? – giofus

+0

嘿@guybrush_threepwood,你在'dataSrc'回调里面得到了什么吗? 'console.log(json)'说什么?我不明白为什么它应该是在另一个'$ .ajax'内部存在'$ .ajax'的问题,除非第二个Ajax依赖于第一个中的某些东西,而且还没有完成。 – davidkonrad