我正在尝试从ASP.NET Web Api控制器返回的JSON结果构建Jquery DataTables。
我在初始页面加载时得到了结果,但是当我点击排序列,分页等时......没有结果。好像我的DataTable无法加载JSON。
这是我的代码,提前感谢所提供的任何帮助:
var apiUrl = 'api/dockets?beginning_date=10/28/2013';
$(document).ready(function () {
$('#results-list').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/api/dockets"
});
// Send an AJAX request
$.getJSON(apiUrl)
.done(function (data) {
$.each(data, function (key, item) {
$('<tr><td>' + item.LastName + ', ' + item.FirstName + '</td><td>' + item.CaseNumber + '</td><td>' + item.CaseStatus + '</td><td>' + item.CourtSessionDate + '</td><td>' + item.CourtSessionStartTime + '</td><td>' + item.AppearanceReason + '</td><td>' + item.CourtRoom + '</td><td>' + item.OffenseDescription + '</tr>').appendTo("#results-list tbody");
});
});
});
答案 0 :(得分:3)
好的,搞定了。比我想做的更容易。
显然如果你使用“sAjaxSource =”mySource /“,那么你不需要额外的jquery JSON调用。
另外,在我的dataTable调用中添加了var oTable包装器,并使用mData定义了我的列:
$(document).ready(function () {
var oTable = $('#results-list').dataTable({
"bFilter": false,
"bProcessing": true,
"sAjaxDataProp": "",
"aoColumns": [
{ "mData": "LastName" },
{ "mData": "CaseNumber" },
{ "mData": "CaseStatus" },
{ "mData": "CourtSessionDate" },
{ "mData": "CourtSessionStartTime" },
{ "mData": "AppearanceReason" },
{ "mData": "CourtRoom" },
{ "mData": "OffenseDescription" }
],
"sAjaxSource": "api/dockets?beginning_date=10/30/2013",
"bInfo": false
});
});
答案 1 :(得分:0)
这里是教您有关JQuery DataTables请求参数,使用ASP.NET Web API进行排序,搜索和分页的所有帖子
JQuery DataTables Paging, Sorting and Searching with ASP.NET Web API