Javascript 无效的JSON格式数据表
我试图实现服务器端datatable,但它抛出Javascript 无效的JSON格式数据表,javascript,html,css,json,datatable,Javascript,Html,Css,Json,Datatable,我试图实现服务器端datatable,但它抛出无效的JSON格式错误 CDN 看看XHR/Ajax调用返回给服务器的JSON,问题就显而易见了。它应该只包含如下所示的预期数据: [ {'EmployeeCode':12345,EmployeeName:'abcde',...}, {'EmployeeCode':12346,EmployeeName:'fghij',...}, ... ] 相反,JSON包含其他属性,数据嵌套在“Results”属性下。另外,我认为您需要格式化JSON
无效的JSON格式
错误
CDN
看看XHR/Ajax调用返回给服务器的JSON,问题就显而易见了。它应该只包含如下所示的预期数据:
[
{'EmployeeCode':12345,EmployeeName:'abcde',...},
{'EmployeeCode':12346,EmployeeName:'fghij',...},
...
]
相反,JSON包含其他属性,数据嵌套在“Results”属性下。另外,我认为您需要格式化JSON以包含数据属性:
{
"draw": 1,
"recordsTotal": 57,
"recordsFiltered": 57,
"data": [
[
"12345",
"John Smith",
"Adam James",
"Manager",
],
...
}
因此,作为一个简单的修复方法,在datatable配置中使用Ankush建议的“dataSrc”:“Results”属性。使用
dataSrc
属性让datatable知道从何处收集数据:
$(document).ready(function() {
$('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": "/api/url",
"dataSrc": function (json) {
debugger;
return json.data;
},
"columns": [
{ data: "EmployeeCode" },
{ data: "EmployeeName" },
{ data: "ManagerName" },
{ data: "DesignationName" }
],
} );
} );
可以找到有关
dataSrc
的更多详细信息。您的JSON数据不清楚,能否使用完整的数据进行更新。看起来EmployeeCode
缺少引号-在JSON@ic3b3rg这些数据是机密的,我不能在这里发布,但我可以向您保证,这些数据是正确的JSON格式,带引号。让我向您介绍我的朋友@Lukman,我已经在上面测试了这个JSON数据,它没有在这里抛出任何错误。我有大量的数据,我不能在这里发布,这就是为什么我发布了JSON示例,JSON非常好。我想同样,有没有办法将JSON映射到Datatable?例如,data=results
只需使用所使用的“dataSrc”属性“dataSrc”:“results”仍然面临相同的问题。我已经更新了代码。现在尝试使用代码中提到的dataSrc&在那里放置一个断点来检查您正在接收的数据,然后返回数组属性。没有成功,我想我需要在我的API中进行更改
{
"Results":[{"EmployeeCode": "12345"}], // This is just a sample of data
"CurrentPage": 1,
"PageCount": 42,
"PageSize": 10,
"RecordCount": 417
}
[
{'EmployeeCode':12345,EmployeeName:'abcde',...},
{'EmployeeCode':12346,EmployeeName:'fghij',...},
...
]
{
"draw": 1,
"recordsTotal": 57,
"recordsFiltered": 57,
"data": [
[
"12345",
"John Smith",
"Adam James",
"Manager",
],
...
}
$(document).ready(function() {
$('#example').DataTable( {
"processing": true,
"serverSide": true,
"ajax": "/api/url",
"dataSrc": function (json) {
debugger;
return json.data;
},
"columns": [
{ data: "EmployeeCode" },
{ data: "EmployeeName" },
{ data: "ManagerName" },
{ data: "DesignationName" }
],
} );
} );