Html DataTable从dataSrc未知参数检索json
当将结果从ajax填充到datatables时,我遇到了一个问题,我已经验证了ajax函数是否有效并返回了结果 以下是我的javascript代码:Html DataTable从dataSrc未知参数检索json,html,ajax,datatables,Html,Ajax,Datatables,当将结果从ajax填充到datatables时,我遇到了一个问题,我已经验证了ajax函数是否有效并返回了结果 以下是我的javascript代码: function getBookingRecords() { tblDirectLoanReceipt = $('#tbBooking').DataTable(); tblDirectLoanReceipt.destroy(); tblDirectLoanReceipt = $('#tbBooking').DataTable({ auto
function getBookingRecords() {
tblDirectLoanReceipt = $('#tbBooking').DataTable();
tblDirectLoanReceipt.destroy();
tblDirectLoanReceipt = $('#tbBooking').DataTable({
autoWidth: true,
initComplete: function () {
},
processing: true,
serverSide:true,
ajax: {
type: 'post',
contentType: 'application/json; charset=utf-8',
url: '/Booking/RetrieveBookingRecords',
dataSrc: function (json) {
console.log(json);
return json;
},
columns: [
{ data: 'dsm_description' },
{ data: 'code' }
]
}
});
}
和我的html代码:
@section Scripts
{
@Helper.LoadCustomJS("ViewsJS/Booking/JS_Booking.js", Url)
}
<div class="row">
<div class="col-md-12">
<div class="table-responsive">
<table id="tbBooking">
<thead>
<tr>
<th>dsm_description</th>
<th>code</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
@节脚本
{
@LoadCustomJS(“ViewsJS/Booking/JS_Booking.JS”,Url)
}
dsm_描述
代码
我怎样才能解决这个问题?我错过了什么?感谢您提前提供的帮助:)
更新:
误差结果
您应该尝试确保从ajax返回的json数据的格式如下所示
{
"data": [
{
...
"dsm_description": "Sample description 1",
"code": "Sample code 1",
...
},
{
...
"dsm_description": "Sample description 2",
"code": "Sample code 2",
...
}]
}
要格式化返回的json数据,可以尝试使用库json.NET
var listData = new List<Dictionary<string,object>>();
....
var result = new {Data = listData};
return Content(JsonConvert.SerializeObject(result), "application/json");
var listData=new List();
....
var result=new{Data=listData};
返回内容(JsonConvert.SerializeObject(结果),“application/json”);
您能试试这个吗:
function getBookingRecords() {
tblDirectLoanReceipt = $('#tbBooking').DataTable();
tblDirectLoanReceipt.destroy();
tblDirectLoanReceipt = $('#tbBooking').DataTable({
autoWidth: true,
initComplete: function() {},
processing: true,
serverSide: true,
ajax: {
type: 'post',
contentType: 'application/json; charset=utf-8',
url: '/Booking/RetrieveBookingRecords',
dataSrc: "",
columns: [{
data: 'dsm_description'
}, {
data: 'code'
}]
}
});
按照我的建议
请注意,如果您的Ajax源代码只是将一个数据数组返回给
显示,而不是对象,将此参数设置为空
绳子
希望能有帮助。怎么办?我以List()@trung duong的形式返回数据,您是使用哪个库将列表序列化为Json,还是在控制器中使用JsonResult返回数据?我只是在控制器中使用Json函数,我想您可以尝试将其封装在一个动态对象中,如var result=new{data=};然后通过Json(result)返回它(我还没有尝试过)。我已经更新了我的答案以使用Json.net库(它是完全免费的),请检查它,然后在您的
dataSrc
中使用一个空字符串替换它<代码>请注意,如果Ajax源代码只是返回要显示的数据数组,而不是对象,请将此参数设置为空字符串。