ASP.NET Web API中jQuery DataTables和$ .getJSON的问题

时间:2013-10-29 14:46:44

标签: json asp.net-web-api jquery-datatables

我正在尝试从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");
            });
        });
});

2 个答案:

答案 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