带有Node.js的jQuery DataTables

Raj*_*Raj 2 javascript jquery datatables node.js jquery-datatables

因此,我尝试使用datatables插件实现分页表,这是我第一次使用此插件。按照插件文档中的介绍,我按照插件上的文档进行操作,并尝试通过使用Ajax从服务器获取值。

发出get请求后,我似乎会收到以下错误,但我不确定为什么?

错误:未被捕获的TypeError:无法读取未定义的属性“长度”

在客户端,我有以下代码

viewReports = {
    init: function(){
        $('#paginatedData').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": '/viewreports'
        });

    }
};

$(document).ready(viewReports.init);
Run Code Online (Sandbox Code Playgroud)

在我的服务器端,我有以下内容

router.get('/viewreports', function(res, req){

    async.parallel({
        viewReports: function(callback){
            restCall('/rest/bugbounty/latest/message/searchReport', 'POST', parameters, function(data){
                callback(null, data);
            }); 
        }
    }, function(err, result){
        if(!err){
            res.send(result.viewReports);
            res.render('viewreports');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

返回的JSON:

{reportList:[{reportID:'EIBBP-448',eBayUserID:'',reportStatus:'New',摘要:'Raj创建的BugBounty报告,lastUpdatedDate:'2015-06-15 01:05',createdDate:' 2015-06-15 01:05',paypalLoginID:'raaj@paypal.com'}],searchStatus:“成功”,eBayUserID:“”,errorCode:“ 0”,rowCount:“ 6”,pageNumber:“ 1” ,paginationValue:'1',paypalLoginID:'raaj@paypal.com'}

知道是否有人在node.js服务器端处理数据表方面工作非常高兴

dav*_*rad 5

您需要定义,dataSrc并且columns.data-以下应该起作用:

var table = $('#example').DataTable({
    processing: true,
    serverSide: true,
    ajax: {
        url: "/viewreports",
        dataSrc: "reportList"
    },    
    columns: [ 
        { data : "reportID" },
        { data : "eBayUserID" },
        { data : "reportStatus" },
        { data : "summary" },
        { data : "lastUpdatedDate" },        
        { data : "createdDate" },        
        { data : "paypalLoginID" }
   ]     
}); 
Run Code Online (Sandbox Code Playgroud)

在空桌上:

<table id="example"></table>  
Run Code Online (Sandbox Code Playgroud)
  • dataSrc指定保存行项目的数组的名称(“ 无法读取未定义的属性'length'的原因 ”)
  • columns.data 将项目属性映射到列