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服务器端处理数据表方面工作非常高兴
您需要定义,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 将项目属性映射到列