jQuery dataTables - JSON输入未在页面上显示

时间:2015-02-06 11:18:09

标签: jquery json datatables jquery-datatables

来自控制器的我的JSON输出如下所示:

{"subscribers":"[{\"code\":\"Code1\",\"name\":\"Name1\",\"id\":539,\"companyId\":\"CD1\",\"acctNum\":\"Dell\"},{\"code\":\"Code2\",\"name\":\"Name2\",\"id\":540,\"companyId\":\"CD2\",\"acctNum\":\"Dell1\"}]"}

这是输出变量" 数据"来自控制器' three.htm' :

$("#getName").click(function() {
     $.getJSON("three.htm", function(data) {
         })
         .fail(function( jqxhr, textStatus, error ) {
         var err = textStatus + ', ' + error;
         alert(err);
         console.log( "Request Failed: " + err);
         })
         .success(function(data){
             console.log("loadDataTable >>  "+JSON.stringify(data));
             loadDataTable(data);
         })
 });

 function loadDataTable(data){
     $("#recentSubscribers").dataTable().fnDestroy(); 
     var oTable = $('#recentSubscribers').dataTable({
         "aaData" : data,
         "processing": true,
        "aoColumns" : [
           {"mData" : "code" },
          { "mData" : "name" },
          { "mData" : "id" },
          {"mData" : "companyId" },
          {"mData" : "acctNum" }
           ]
        });
     }

但是,数据表没有显示任何结果。

尝试了很多方法之后,几乎停留在这里。请帮助。

1 个答案:

答案 0 :(得分:1)

你的JSON基本上只是一个包含一个项目subscribers的对象,持有一个长字符串。您需要先将该字符串解析为JSON,然后才能将其插入到dataTables中:

...
"aaData" : JSON.parse(data.subscribers),
...

您的代码在这里工作 - >的 http://jsfiddle.net/x5n94dqv/